一、打开一个文件,设置只读(r),并赋予变量
f = open("file",'r',encoding = 'utf-8')
1、对文件进行读操作(读完后光标会停在读完的位置,下次读会从光标位置读起 )
f.read() #读文件,一次性读完整个文件,
f.read(10) #只读10个字符
f.readline() #读一行文件
f.readlines() #将文件变成列表读出来
2、查看文件的光标所在的下标位置
f.tell()
3、将文件光标位置移动到行首
f.seek(0) #光标移动到下标为0的位置
4、查看打开文件的编码
f.encoding
5、判断文件是否可读,是True,否false
f.readable()
6、判断文件的光标是否可移动,是True,否false(linux中的终端设备文件不可移动)
f.seekable()
7、关闭文件(程序运行完成后会自动关闭文件,以下是手动关闭)
f.close()
8、判断文件是否关闭,是返回True,否false
f.closed
二、对文件进行写操作(w)
f = open("file",'w',encoding = 'utf-8') #这样是创建一个新的文件,如果原来文件存在,则会被替换掉。
1、对文件进行写操作
f.write('----------------------')
2、将内存缓存中的内容写入到磁盘中(由于对文件写的操作是缓存在磁盘中的,所以对内容实时性有要求的话的刷新到磁盘上去)
f.flush()
3、截断(删除下标20以后的内容)
f.truncate(20)
三、对文件进行追加操作(a)
f = open("file",'a',encoding = 'utf-8') #文件本来存在并且已经有了内容,使用追加模式则会把新内容追加到结尾。
四、对文件进行读和追加操作(r+)
f = open("file",'r+',encoding = 'utf-8') #可以对文件进行读和追加的操作。
五、对文件进行先写后读的操作(w+)
f = open("file",'w+',encoding = 'utf-8') #由于先创建了一个空文件,所以没有内容,只能先写操作)
六、对二进制文件读(rb)
f = open("file",'rb')
七、对二进制文件写(wb)
f = open("file",'wb')
八、文件的读循环(一行行的读,并且内存中只保存一行内容,不会占很高的内存空间)
for line in f:
print(line)
九、打开文件注意事项
1、每次打开文件操作完成后应当关闭文件,不然会占据内存空间,造成不必要的空间浪费(python有垃圾回收设置,执行完python文件后,会自动关闭打开的文件)
f.flush()
2、为避免忘记关闭文件,可用以下语句打开文件(当执行完with下面的语句后,会自动关闭文件)
with open('file','r+',encoding = 'utf-8') as f:
print(f.readline())