文件操作
打开和关闭文件
open()方法
file object = open(文件名、路径 [,打开文件模式][,buffering])
如果传入路径有误,报错
打开文件模式
- x 写模式,新建一个文件,如果该文件已存在则会报错。 纯文本
- r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
- w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
- a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
- 二进制文件 图片 音乐 影片
- rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
- wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
- ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
buffering
如果buffering的值被设为0,就不会有寄存。如果buffering的值取1,访问文件时会寄存行。如果将buffering的值设为大于1的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。
stm = open(r'E:\a.txt','w')
close()方法
close()方法刷新缓冲区里任何还没写入的信息,并关闭该文件,这之后便不能再进行写入。
fileObject.close()
stm.close()
读写文件
read()方法
read()从一个打开的文件中读取一个字符串。Python字符串可以是二进制数据。
fileObject.read(count)
count:从已打开文件中读取的字节数,如果没有传入count,它会可能是读取全部文件内容。
rd = stm.read(2)
print(rd)
readable()
readable()方法判断能不能读取,返回True或False
rdresult = stm.readable()
print(rdresult)
readline()
读取一行内容,如果之前文件已被读取,则只能读取剩下的内容
每行后面会默认添加一个换行
rdline = stm.readline()
print(rdline)
while True:
rdl = stm.readline()
print(rdl)
if not rdl:
break
readlines()
读取每行内容,输出列表
rdls=stm.readlines()
print(rdls)
write()方法
write()方法可将任何字符串写入一个打开的文件。不会在字符串的结尾添加换行符(’\n’)。
fileObject.write(string)
string:要写入到已打开文件的内容。
writelines()
writelines(iterable)
可以将可迭代对象写入文件,但是不能换行,想换行要在内容里自己加换行符
s='''全灭防御阵地布局法:
上面是传统机枪阵,下面是迷宫,和一个房间用2个门连接,敌人被打跑的时候因为迷宫太长,会优先砸门,然后就会被埋伏的贱民扫射。
'''
stm.write('hello')
stm.w