文件处理流程
1.打开文件,得到文件语句柄 并赋值给一个变量
2.通过语句柄对文件进行操作
3.关闭文件
基本操作
读操作
fn=open('test.txt') data=fn.read() print (data) 文件读操作,读出所有文件
fn=open('test.txt') print(fn.readline()) print(fn.readline()) print(fn.readline()) 一行一行的读文件。PS:print会自动换行,解决方法 print(fn.readline().strip('\n')) print(fn.readline().strip('\n')) print(fn.readline().strip('\n'))
fn=open('test.txt') print (fn.readable()) 判断文件是否可读
fn=open('test.txt') print (fn.readlines()) 将文件以列表的方式读出
注意:读一行,光标向下移动一行。如果上面的操作读三行,那么再以readlines的方式查看就不会是所有的行都以列表的方式读出
fn=open('test.txt') print(fn.readline().strip('\n')) print(fn.readline().strip('\n')) print (fn.readlines()) 111111111111111111111111111 2222222222222222222222 ['333333333333333333333333\n', '4444444444444444444\n', '555555555555555555\n', '666666666666666\n']
fn=open('test.txt') for line in fn.readlines(): print (line).strip('\n') 循环文件,效率不高 fn=open('test.txt') for line in fn: print (line).strip('\n') 使用这种方法循环文件,则没问题。这是一个非常厉害的功能(迭代器),后续的文章会介绍
注意:每次在操作完文件后都要进行一次fn.close(文件关闭操作)。如果不关闭,则很会占用内存,一定要及时释放掉
上下文管理操作
with open('test.txt') as fn: print (fn.readlines()) 打开文件操作后无需关闭
写操作
在上面的例子中fn=open('test.txt')其实是可以在后面跟参数,写操作后面需要跟上'w',而读操作则不需要写,默认就是读操作.例子读fn=open('test.txt','r')
写fn=open('test.txt','w')
fn=open('test.txt','w') 写操作,如果有这个文件,会将原来的文件进行覆盖。没有这个文件则创建 fn=open('test2.txt','r') 读操作,如果有这个文件,则可以读。没有这个文件则报错。
fn=open('test1.txt','w') print (fn.writeable()) 判断文件是否可写
fn=open('test1.txt','w') print(fn.write('111\n'))
print(fn.write('222\n333\n')) 写文件,并返回写入几个字符
fn=open('test1.txt','w') fn.writelines(['1111\n','aaaa\n','bbbb\n']) fn.close()
注意,每次在操作文件结束后都要关闭文件哦!
测试
模仿vim更改文件内容
hello aaa
hello bbb
hello ccc
hello ddd