标签:color 进阶 div ace pycharm port 内容 单位 new
f = open(‘path‘,mode=‘r‘,encoding=‘utf-8‘)
f.read()
f.close()
with open(‘path‘, ‘r‘, encoding=‘utf-8‘)as f: f.read()
# f 叫文件句柄. 我们通过这个句柄去操纵这个文件. f = open("21天学会python", mode="r", encoding="UTF-8") content = f.read() # 从文件中读取到数据. 交给前面的content print(content) f.close()
# rb 读取字节,除了是字节不用写编码方式其余一样的 f = open("21天学会python", mode="rb") content = f.read() print(content) f.close()
#下面这个栗子有点酸,明明是写模式,你非要读,请自行了结 f = open("歌单", mode="w", encoding="utf-8") content = f.read() # 在w模式下. 去读. 会出错 print(content) f.write("两只老虎\n") f.write("忐忑") f.flush() # 刷新管道 f.close() #正确示范:这歌单很牛逼的,谁听谁知道 f = open("歌单", mode="w", encoding="utf-8") s = ["起风了", "凤舞九天", "冰河时代"] for e in s: f.write(e) f.close()
#喜欢带b的模式文件操作模式,符合我懒的气质,不用写编码方式 #下面这个操作也是为了绕,非要在字节模式写汉字,完了用pycharm打开文件还TM是汉字,其中的奥秘只有地球人知道。 f = open("歌单", mode="wb") f.write("金毛狮王".encode("UTF-8")) f.flush() f.close()
#已经轻车熟路了,不多介绍了。 f = open("歌单哈哈", mode="a", encoding="UTF-8") f.write("又见炊烟") f.flush() f.close()
f = open("歌单哈哈.txt", mode="ab") f.write("又见炊烟".encode(‘utf-8‘)) f.flush() f.close()
# 正常用法 f = open("歌单", mode="r+", encoding="UTF-8") # 读 content = f.read() print(content) # 写 f.write("成都") f.flush() f.close() # 非正常用法 f = open("歌单", mode="r+", encoding="UTF-8") # 写 f.write("凉凉") # 读 content = f.read() print(content) f.flush() f.close()
#深坑请注意: 在r+模式下. 如果读取了内容. 不论读取内容多少. 光标显?示的是多少. 再写入 或者操作文件的时候都是在结尾进行的操作.
# 先将所有的内容清空. 然后写入. 最后读取. 但是读取的内容是空的, 不常用 f = open("?娃娃", mode="w+", encoding="utf-8") f.write("哈哈") content = f.read() print(content) f.flush() f.close()
f = open("?娃娃", mode="a+", encoding="utf-8") f.write("?化腾") content = f.read() print(content) f.flush() f.close() # a+模式下, 不论先读还是后读. 都是读取不到数据的.
# 还有一些其他的带b的操作. 就不多赘述了了. 就是把字符换成字节. 我这么懒就不分享了,欢迎留言分享。
#seek的常规操作 f.seek(3) # 移动的是字节单位,在UTF-8文件中. 如果是中文移动的必须是3的倍数 f.seek(0) # 重新回到起点 f.seek(0, 2) # 移动到结尾 #tell的一阳指 print(f.tell()) # 告诉光标在哪里
#直接粘习题了,用法自行体会吧 # h,截取原文件,截取内容:‘葫芦娃,葫芦娃,’ # 1.先用seek,再去截取,有点多此一举 f = open(‘db1/葫芦娃‘, ‘r+‘, encoding=‘utf-8‘) f.seek(24) f.truncate() f.seek(0) print(f.read()) f.flush() f.close() # 2.直接去截取 f = open(‘db1/葫芦娃‘, ‘r+‘, encoding=‘utf-8‘) f.truncate(24) print(f.read()) f.flush() f.close()
#用了课后练习的代码,还是默写,重点,重点,第三遍不说了! import os with open(‘../db2/alex.txt‘,‘r‘,encoding=‘utf-8‘)as f1, open(‘../db2/alex_new.txt‘,‘w‘,encoding=‘utf-8‘)as f2: for i in f1: new_i=i.replace(‘alex‘,‘SB‘) f2.write(new_i) os.remove(‘../db2/alex.txt‘) os.rename(‘../db2/alex_new.txt‘,‘../db2/alex.txt‘)
#举个栗子: path = "d:/sylar/呵呵.txt"
#再举个栗子 path = "呵呵.txt"
# 建议一般不要起这种带特殊意义字母开头的单词 # 第一个斜杠用来转义 path1 = ‘db\\test.txt‘ # 加r牛逼,一步到位 path2 = r‘test.txt‘
标签:color 进阶 div ace pycharm port 内容 单位 new
原文地址:https://www.cnblogs.com/changwentao/p/9157233.html