一、读文件
一般方法
#打开一个指定目录下的文件,并指定打开方式为r f=open('E:/aaa.txt','r') #读取文件中的内容 print(f.read()) #关闭文件 f.close()
使用with
使用上述调用方法,在每次使用完一个文件后,需要调用close()来关闭文件;
Python中为了简化,使用with来自动帮我们调用close()方法。
#使用with,可在结束时自动调用close()方法 with open('E:/aaa.txt','r') as f: print(f.read())
read()是读取文件中的所有内容,适用于文件比较小的情况;
当文件比较大时,需要使用其他读取方法:
read(size)
可使用read(size)来指定读取内容的大小;read(3)指读取3个字符
with open('E:/aaa.txt', 'r') as f: #按设定字节读取文件内容,调用多次,可连续读取文件内容 print(f.read(3)) print(f.read(3))
readline()
可使用readline()来一行一行的读取文件内容;
with open('E:/aaa.txt', 'r') as f: #每次读取一行内容,若要读取多行,则需要多次调用 print(f.readline()) print(f.readline())
readlines()
可使用readlines()来一次性将文件的所有内容读取出来,并按行生成一个list;
with open('E:/aaa.txt', 'r') as f: #readlines()将文件中所有内容一次读出,并返回一个list for line in f.readlines(): print(line.strip())
读取二进制文件
当读取图片、视频等二进制文件时,需要修改open函数中的操作模式为’rb’
with open('C:/Users/EDZ/Desktop/20180621101455.jpg', 'rb') as f: print(f.read())
二、写文件
写文件和读文件基本一样,区别在于在调用open函数时,传入操作模式为’w’表示写入文本文件或者’wb’表示写入二进制文件
with open('E:/aaa.txt','w') as f: f.write('hello')
open中指定的文件若已经存在,则会覆盖之前的文件内容;
open中指定的文件不存在,则会创建一个新的文件,并写入内容;
若希望打开一个已存在的文件,但写入的内容不覆盖之前的文件内容,而是追加在文件内容之后,则需要在调用open时设置操作模式为’a’
with open('E:/aaa.txt','w') as f: f.write('111')
writelines()
传给它一个字符串列表,它会把所有的字符串写入文件。但是程序不会自己添加新的行,需要自己手动添加。
with open('E:/aaa.txt', 'a') as f: f.writelines(['aaa\n','bbb\n'])