Chapter3:字符串编码和文件操作
2017-05-19 11:06
183 查看
#!/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即Unicode bytes即str.encode()的结果 在Python2中也有两种形式的字符串: str Unicode 但是默认是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) #break else: print('-------------------?') #song文件内容 ''' 正趣果上果 陈粒 '''
相关文章推荐
- vi部分命令. 替换操作; 文本格式转换; 在整个文件中替换; 在行首尾添加字符串.
- C语言中文件操作--如何将文本数据正确读到字符串数组中
- 解析KML文件,得到编码折线(以字符串形式表示)
- 关于字符串和文件操作的几个函数
- PHP 获取文件 或 字符串的编码方式 mb_detect_encoding()
- 将文件用base64编码保存成字符串,并从字符串中还原。
- 文件路径相关的字符串操作
- struts2文件操作编码总结
- Linux常用文件操作 -- 批量替换多个文件中字符串
- Visual Basic Base64编码源码:可实现对字符串(中文)和二进制文件编码
- Asp.Net 之 StreamWriter文件操作 生成文件注意编码方式
- C/C++流操作(文件,字符串)
- C#中一些字符串操作的常用用法,c#编码和解码
- 文件路径相关的字符串操作
- 字符串和文件操作函数(简单)
- ASP.NET中StreamReader、FileStream、StreamWriter操作文件编码问题
- PHP 获取文件 或 字符串的编码方式 mb_detect_encoding()
- Delphi 7文件路径相关的字符串操作
- CMake中的字符串及文件操作
- python基础5--文件操作--字符串读写