首页 > 代码库 > Python day7

Python day7

一.字符编码

 

技术分享

1 以什么编码存的就要以什么编码取出
ps:内存固定使用unicode编码,
我们可以控制的编码是往硬盘存放或者基于网络传输选择编码

2 数据是最先产生于内存中,是unicode格式,要想传输需要转成bytes格式
#unicode----->encode(utf-8)------>bytes
拿到bytes,就可以往文件内存放或者基于网络传输
#bytes------>decode(gbk)------->unicode

3 python3中字符串被识别成unicode
python3中的字符串encode得到bytes

4 了解
python2中的字符串就bytes
python2中在字符串前加u,就是unicode
二。文件处理
#open:
#1 会向操作系统发起系统调用,操作会打开一个文件
#2 在python程序中会产生一个值指向操作系统打开的那个文件,我们可以把该值赋值一个变量

#回收资源
#1 f.close():一定要做,关闭操作系统打开的文件,即回收操作系统的资源
#2 del f:没必要做,因为在python程序运行完毕后,会自动清理与该程序有关的所有内存空间

#文本文件:只读模式,文件不存在报错
# f=open(r‘aaaa.py‘,‘r‘,encoding=‘utf-8‘)
# print(f.read())
# print(f.read
#
# line(),end=‘‘)
# print(f.readlines())
# print(f.readable())
# print(f.writable()) #False
# f.close()

#文本文件:只写模式,文件不存在则创建空文件,文件存在则清空
# f=open(‘new.txt‘,‘w‘,encoding=‘utf-8‘)
# f.write(‘1111111\n‘)
# f.writelines([‘22222\n‘,‘3333\n‘,‘444444\n‘])
# # print(f.writable())
# f.close()

#文本文件:只追加写模式,文件不存在则创建,文件存在
# f=open(‘new_2‘,‘a‘,encoding=‘utf-8‘)
# print(f.readable())
# print(f.writable())

# f.write(‘33333\n‘)
# f.write(‘44444\n‘)
# f.writelines([‘5555\n‘,‘6666\n‘])

# f.close()


#rb
# f=open(‘aaaa.py‘,‘rb‘)
# print(f.read().decode(‘utf-8‘))

# f=open(‘1.jpg‘,‘rb‘)
# data=http://www.mamicode.com/f.read()>

  三。文件补充

#上下文管理
with open(‘aaaa.py‘,‘r‘,encoding=‘utf-8‘) as read_f,        open(‘aaaa_new.py‘,‘w‘,encoding=‘utf-8‘) as write_f:
    data=http://www.mamicode.com/read_f.read()>

  

Python day7