python从1到26对应a到z_字符串

字符编码

简介:字符编码只针对文本文件

字符编码的发展史:

在最初,因为计算机由美国人发明,所以美国人创建的字符编码,是只具备英语和二进制数的对应关系的。他们创建的字符编码叫做ASCII码,其中A-Z对应数字65-90,a-z对应数字97-122.

后来,各国普及了计算机,各自创建了各自的字符编码,类似中国的GBK,拥有汉语和英文的二进制数对应关系,各国创建了各自的编码,在自己国家中使用是没有太大的问题的,但是,计算机是面向国际的.

最后,因为各国字符编码不同,导致各国的计算机交流过于困难,入人们创建了万国码unicode,拥有世界上绝大部分国家的语言与二进制数的对于关系。

python从1到26对应a到z_字符串_02

字符编码的实际应用
编码与解码

编码:将编程部分中人类所能直接理解其意思或者由人类命名编写的代码,转换为由计算机才能看懂的字符代码。

解码:将只有计算机才能理解的代码,转换为人类可以理解并使用的字符。

编码 encode
(变量名.encode('gbk'))
将字符串进行编码后,所打印出的值,如果由字母b开头,那么表示该数据为 bytes类型,即二进制类型。


解码 decod
(编码后的变量名.decode('gbk'))
将被编码后的代码串,通过相同的字符编码类型,重新解释为人类能够理解的字符语言。


编码解码的作用:传输数据只能为二进制,编码解码是文件交互和网络传输的关键操作方法。

python从1到26对应a到z_python从1到26对应a到z_03

乱码

产生乱码的原因是,使用了不同的字符编码方式去解释不同的编码数据。

举例:使用韩国的euc_kr,去编码咱们国家GBK才能解释出来的汉字,就会出现乱码(明明整个国家就会抄袭)。

解决方式很简单,用当时进行编码的字符编码类型,重新解码即可。

python版本差异

python2是由早年编写出的,当时的默认编码是ASCII码,与python3的utm8不同。

文件操作

文件:操作系统将硬盘暴露给用户进行操作的快捷方式。用户操作文件等同于操作硬盘。

代码对文件的操作
  1. 打开或者创建文件
  2. 对文件内容进行编辑
  3. 将文件保存在硬盘上
  4. 关闭文件
基本语法结构


结构1
	变量名 = open()
    变量名.close()
    	
结构2
	with open() as 变量名:
文件操作注意事项
  1. 使用路径打开文件时,直接添加上r,防止特殊符号产生意义。
  2. 同文件夹中可以只写相对路径,同文件夹中没有,就必须写出绝对路径
  3. 地址如果为input获取,获取值为字符串,将无法添加r和引号,直接获取即可
文件的读写模式
r		read		只读
W		write		只写
a		append		只追加

r模式进行时,如果路径不存在,将会直接报错
结构:
    with open(r'文件地址','r',encoding='utf8') as 变量名:
    print(变量名.read())
    将会一次性读取文件夹内所有内容
    
 
w模式进行时,路径不存在则会直接创建路径文件,路径存在时会清空原先路径下文件的内容,然后编写内容进去
结构:
	with open(r'文件地址','w',wncoding='utf8') as 变量名:
    变量名.write('内容')
    
  
a模式进行时,路径不存在也会创建路径下的文件,路径存在则会将新内容添加在尾部
结构:
	with open(r'文件地址','a', encoding='utf8') as 变量名
    变量名.write('内容')
文件操作模式

文本操作模式其实是t模式

r w a 完整为rt wt at

  1. 只能操作文本内文件
  2. 该模式必须使用encoding来选择字符编码类型
  3. 该模式读写以字符串为最小单位

二进制模式

二进制模式为b模式,可以操作任意类型的文件

rb wb ab,使用方式与文本操作模式相同,但是不能省略b,而且不需要用encoding选择字符编码类型,因为他固定编码为二进制编码。

文件内置方法

read() 一次性读取文件内容
	1.执行后,光标停在末尾处,继续读取为空白
    2.文件内容过大时,容易造成内存溢出
    
readine() 一次只可读一行内容

readlines()  结果是一个列表 里面的各个元素是文件的一行行内容

readable()  判断当前文件是否可读
支持for循环  一行行读取文件内容,内存中同一时刻只会有一行内容

write()  写入文件内容(字符串或者bytes类型)

writelines()  可以将列表中多个元素写入文件

writable()  判断文件是否可写

flush()  相当于主动按了ctrl+s(保存)