举例:
fo = open(r"F:/pyqt/lx01/dict_test.txt", "w") print ("访问模式 : ", fo.mode)#返回被打开文件的访问模式。 print ("文件名: ", fo.name)#返回文件的名称。 print ("是否已关闭 : ", fo.closed)#返回true如果文件已被关闭,否则返回false。
返回结果:
访问模式 : w
文件名: F:/pyqt/lx01/dict_test.txt
是否已关闭 : False
说明:
这些文件打开模式,你不必死记硬背,最常用的有r, w, a+ ,记住这几个就可以了。
2.1读文件--read()方法
fo = open(r"F:/pyqt/lx01/dict_test.txt", "r+", encoding='utf8') str = fo.read(2) print ("读取的字符串是 : ", str) # 关闭打开的文件 fo.close()
2.2 readlines 以列表的形式返回文件里的所有数据,文件有多少行,列表里就有多少个字符串,没一行的换行符也会被读取
f=open(r"F:/pyqt/lx01/dict_test.txt","r", encoding='utf8') lines =f.readlines() print(lines)
返回结果:
['测试好的呀\n', '学生\n', '老师\n', '体育生\n', '汽车\n', '卡车\n', '飞机']
2.3 readline readline一次只读取一行,如果文件特别大,readlines会一次性把数据读取到内存中,这样会非常耗费内存,而readline就不存在这样的问题,但由于一次只读取一行,所以,想要读取全部数据需要使用while循环
f=open(r"F:/pyqt/lx01/dict_test.txt","r", encoding='utf8') lines =f.readline() while lines: print(lines) lines = f.readline()
write()方法可将任何字符串写入一个打开的文件。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。
write()方法不会在字符串的结尾添加换行符('\n'):
f=open(r"F:/pyqt/lx01/dict_test.txt","a+", encoding='utf8') f.write("\n添加1") f.close()
#文件打开以后一定要关闭,否则就会出现内存泄漏,关闭文件使用close方法 f = open(r"F:/pyqt/lx01/dict_test.txt","a+", encoding='utf8') for line in f: print(line) f.close()
#为了避免忘记close文件,还可以使用with语法,该语法可以保证在with语句块退出时可以自动关闭文件 with open(r"F:/pyqt/lx01/dict_test.txt","a+", encoding='utf8') as f: for line in f: print(line)
Python的os模块提供了帮你执行文件处理操作的方法,比如重命名和删除文件。要使用这个模块,你必须先导入它,然后才可以调用相关的各种功能。
import os os.rename(r"F:/pyqt/lx01/dict_test.txt","F:/pyqt/lx01/dict_test1.txt")
import os os.remove("F:/pyqt/lx01/dict_test1.txt")