Chapter3:字符串编码和文件操作

来源:互联网 发布:js比较值 编辑:程序博客网 时间:2024/06/03 06:07
#!/usr/bin/python# -*- coding utf8 -*-'''字符编码补充内存: Unicode格式的二进制decode  encode↑       |↑       |   |       ↓   |       ↓硬盘:utf-8格式的二进制'''## s = u'吴'# s2 = s.encode('utf8')# print(s2)# s3 = s.encode('gbk')# print(s3)#Python3中字符串有Unicodeencode后的bytes格式'''总结执行过程中字符串的概念在Python3中  所以的字符串都会被识别成Unicode编码的结果即:在Python3中共有两种形式的字符串str即Unicodebytes即str.encode()的结果在Python2中也有两种形式的字符串:strUnicode但是默认是bytes形式 默认只有decode方法'''#------------------------------------------------------------------------#基本读取操作# f1 = open('song',encoding='utf-8',mode='r')# data = f1.read()# print(data)# f1.close()#----------------------------------------------------#光标到尾部无法读取内容# f=open('song',encoding='utf8',mode='r')# print(f)  #输出文件读取信息<_io.TextIOWrapper name='song' mode='r' encoding='utf8'># data=f.read()# data2 = f.read()# print(data2)  #光标已经移动至末尾 无法读出内容#----------------------------------------------------#seek方法移动光标# f=open('song',encoding='utf8',mode='r')# f.read()# f.seek(0)# data2=f.read()# print(data2)# f.close()#----------------------------------------------------#readline 读取一行 默认带换行符 可以取消掉 用end=# f=open('song',encoding='utf8',mode='r')# #print(f.read())#读取文件# print(f.readline())#读取一行# print(f.readline())# print('*****')# print(f.readline(),end='')#不读取末尾的换行符# print(f.readline(),end='')# print(f.readlines(),end='') #以列表形式读取#输出结果:# 正趣果上果 - 陈粒## 词:郭婞## *****# 曲:陈粒# 你佩桃木降妖剑#----------------------------------------------------#写的方式打开文件 文件存在则情况 不存在则创建# f=open('song',encoding='utf8',mode='w') #打开文件# print(f.writable()) #是否可写# print(f)                #读取操作的信息# #print(f.write('1122\nwowowo'))  #写入# print(f.writelines(['1\n','2']))   #以列表写入 不支持int型#----------------------------------------------------#循环取出每行 判断内容 重写到swap文件 然后删除 重命名新文件# import os# read_f=open('song2',encoding='utf8',mode='r')# write_f=open('song2.swap',encoding='utf8',mode='w')# for line in read_f.readlines():#     if line.startswith('111'):#         line = 'aaaa\n'#     write_f.write(line)# read_f.close()# write_f.close()# os.remove('song2')# os.rename('song2.swap','song2')#f = open('song','r+')#读写#f = open('song','w+')#写读#f = open('song','a+')#追加 读取#不需要执行f.close()的打开方式# with open('song','r',encoding='utf-8') as f:#     print(f)#     print(f.read())#上下文管理  自动负责关闭 可以同时打开多个文件# with open('song','r',encoding='utf-8') as f,open('b.txt') as b_f:#     print(f)#     print(f.read())#补充# for循环不被break时执行else内容for i in range(3):    print(i)    #breakelse:    print('-------------------?')#song文件内容'''正趣果上果陈粒'''