# ***********第一部分***********# 1.读文件,首先利用一个变量承装文件 最主要注意的是encoding的问题,看看是否是格式问题f = open(file=‘D:\study\少妇白洁.txt‘, mode=‘r‘, encoding=‘GBK‘) # file等关键字可以直接省略 mode 指模式# 对变量使用方法read进行读取data = f.read()# 输出print(data)# 关闭f.close()# ***********第二部分***********# 上回打开文件的时候会遇到编码问题,如何避免这种问题(去掉指定encoding会默认utf-8)f = open(file=‘D:\study\少妇白洁.txt‘, mode=‘rb‘) # 读取模式更改为rb, 略去指定编码,将以二进制读取文件data = f.read()print(data)f.close()# ***********第三部分***********# 导入第三库查看编码规则:chardet,# 在cmd界面找到pip的安装路径,在python安装路径下。输入:pip3 install chardet下载# pycharm软件打开:file-setting-project-interproject点击+下载import chardet f = open(file=‘D:\study\少妇白洁.txt‘, mode=‘rb‘) # 使用chardet模块必须以rb模式读取文件result = chardet.detect(f.read())print(result)f.close()# 查出编码之后,进行解码f = open(file=‘D:\study\少妇白洁.txt‘, mode=‘rb‘)data = f.read()print(data.decode(‘GBK‘))# ***********第四部分***********# 文件的写入:新建内容f = open("D:\study\僻邪剑谱.txt", "w", encoding="utf-8")data = f.write("第一章 欲练此功,必先自宫")f.close()# 文件的追加:保留原有文件 a的意思是appendf = open("D:\study\僻邪剑谱.txt", ‘a‘)data = f.write("\n第二章 不宫也行")f.close()# 文件的循环:文件过大时,需要边缓存边查看fi = open("D:\study\僻邪剑谱.txt", "r")data = fi.read()for line in data: print(line)fi.close()# ***********第五部分***********# 文件混合读写模式f = open("D:\study\少妇白洁.txt", ‘r+‘, encoding=‘utf-8‘)data = f.read()print("前:", data)f.write("访问网址:w‘w‘w.baidu.com")print(f.read()) # 文件中存在,但是读不出,因为此时光标在最后一层,需要用seek方法回到前面f.seek(0)print(f.read())f.close()# 光标 seek 指定光标位置 tell 输出光标位置# 文件操作方法# truncate 从开头到光标当前位置截断# flush 将缓存中的内容读到磁盘# readline 执行一次读一行文件内容# ***********第六部分***********# 文件修改:通过循环进行替换import os f_old_name = "D:\study\僻邪剑谱.txt"f_new_name = "%s.new" % f_old_nameold_name = "望海潮"new_name = "王海潮"f_o = open(f_old_name, ‘r‘, encoding=‘utf-8‘)f_n = open(f_new_name, ‘w‘, encoding=‘utf-8‘)for line in f_o: if old_name in line: line = line.replace(old_name, new_name) f_n.write(line)f_n.close()f_o.close()os.rename(f_new_name, f_old_name) 最重要的还是要多写多练,有的时候看着视频觉得代码一模一样,但是自己写的时候会遇到各种问题,解决问题的过程就是自己慢慢提高的过程
原文地址:https://www.cnblogs.com/niushichong/p/10028370.html
时间: 2024-10-26 19:52:48