Python之文件的打开关闭
打开文件
1.建立磁盘 上的文件与程序中的对象相关联
2.通过相关的文件对象获得
文件操作
(1)读取(2)写入(3)其他:追加、 计算等
关闭文件
(1)切断文件与程序的联系
(2)写入磁盘, 并释放文件缓冲区
打开文件
1 Open( ) 2 <variable> = open (<name>, <mode>)<name>磁盘文件名 3 <mode>打开模式
打开模式
1 #例如,打开一个名为7.1.txt文件 2 textfile = open("7.1.txt",'r') 3 4 #打开一个music.mp3的音频文件 5 binfile = open('music.mp3','rb')
文件使用结束后要用close()方法关闭,释放文件的使用授权,格式:
<变量名>.close()
文件的读写
read() 返回值为包含整个文件内容的一个字符串
readline()返回值为文件下一 行内容的字符串。
readlines()返回值为整个文件内容的列表,每项是以换行符为结尾的一行字符串。
1 #1 2 fname = input("输入你要打开的文件:") 3 fo = open(fname,'r') 4 for line in fo.readlines(): 5 print(line) 6 fo.close() 7 #2 8 with open ("demo1.txt",'r',encoding='utf8')as f: 9 for line in f.readlines(): 10 print(line,end='')
上述代码只适用简短代码,缺点是:文件非常大时,一次性将内容读取到列表中会占用很多内存,
硬性执行速度。合理的方法是逐行读入到内存,并逐行处理。Python将文件本身作为一个行序列,
遍历文件的所有行。
1 1 fname = input("输入你要打开的文件:") 2 2 fo = open(fname,'r') 3 3 for line in fo(): 4 4 print(line) 5 5 fo.close()
写入文件
从计算机内存向文件写入数据
write() :把含有本文数据或二进制数据块的字符串写入文件中。
writelines() :针对列表操作 ,接受 个字符串列表作为参数 ,将它
们写入文件。
1 #写法一 2 fname = input("请输入要写入的文件:") 3 fo = open(fname,'w+') 4 lst = ['This is a demo ','and demo'] 5 fo.writelines(lst) 6 for line in fo: 7 print(line) 8 fo.close() 9 10 #写法二 11 lst=['This is a demo ','and demo'] 12 with open ("demo1.txt",'a',encoding='utf8')as f: 13 for x in lst: 14 f.write('{}\n'.format(x)) 15 16 with open ("demo1.txt",'r',encoding='utf8')as f: 17 for line in f.readlines(): 18 print(line,end='')
执行结果: