python操作文件
2017-12-28 19:54
197 查看
1,python读取文件
2,python写文件
3,python操作文件的常用方法
1,python读取普通文件(文件名为text.txt)
这样就能完成文件的读取。默认情况下打开文件是读的,所以如果你是读取文件,可以不用写'r',当然这里可以写成mode='r'.
考虑到如果文件是非常大的话,比如1个G的文件,如果你直接使用read方法。这样会非常占用服务器的内存,这样就不太好。所以这个时候就可以考虑xreadlines。它不是一次性将内容加载的内存中。
只有等你使用到具体的行,才会加载的内存中。这与前面的range和xrange的原理是样的。于是乎代码更改如下:
这里的open其实是可以用file来代替的,意思是一样的。从上面的代码发现,打开文件后经过一系列操作需要f.close()将文件关闭。关闭的原因是:如果不关闭文件的话,就会占用系统的描述符,而操作系统的描述符是有限制的。当然,python的回收机制也是处理这个问题。但是毕竟自动关闭是最佳的选择。但是每次f.close比较麻烦,所以引用with open的方式,它会自动帮我们执行f.close()函数。
上述的操作都是针对普通文件的操作,如果需要操作二进制文件的话,操作文件的mode需要改为‘rb’或者‘wb’。具体可以参考如下图:
2,python写文件
这样就完成基本的文件写操作,但是我们这里的模式是w,那么意味着原先的内容都被清空了,在清空文件内容的前提条件下,新增加的内容。
如果你不想要原文件的内容被清空,那么你就需要将模式改为追加模式,即'a'.
3,python操作文件的常用方法
读模式:
read() 一次性将内容全部读取出来
readline() 读取文件的一行,比如打开文件后,执行f.readline()则表示读取文件的第一行,再次操作,读取文件的第二行
readlines() 读取文件的所有行,以列表的形式返回
xreadlines() 读取文件的行,返回对象,即生成器,需要使用for循环遍历
next() 读取文件的下一行
seek() 指定文件指针跳到那个位置,一般用于让指针跳到起始行开头的位置。即f.seek(0)
tell() 返回指针所在的位置
写模式:
wirte() 将内容一次性写入到文件中
writelines() 文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符
flush() 将修改刷新到磁盘上,一般情况下,你这边f.write写入内容。但是你没有f.close时,你写入文件的内容是暂时的缓存在内存的。除非你f.close()才会将文件刷到磁盘中,或者你使用f.flush()这个命令将内容刷新到磁盘上
close() 关闭文件
2,python写文件
3,python操作文件的常用方法
1,python读取普通文件(文件名为text.txt)
f = open('test.txt','r') data = f.read() print data f.close()
这样就能完成文件的读取。默认情况下打开文件是读的,所以如果你是读取文件,可以不用写'r',当然这里可以写成mode='r'.
考虑到如果文件是非常大的话,比如1个G的文件,如果你直接使用read方法。这样会非常占用服务器的内存,这样就不太好。所以这个时候就可以考虑xreadlines。它不是一次性将内容加载的内存中。
只有等你使用到具体的行,才会加载的内存中。这与前面的range和xrange的原理是样的。于是乎代码更改如下:
f = open('test.txt','r') data = f.read() print data f.close()
这里的open其实是可以用file来代替的,意思是一样的。从上面的代码发现,打开文件后经过一系列操作需要f.close()将文件关闭。关闭的原因是:如果不关闭文件的话,就会占用系统的描述符,而操作系统的描述符是有限制的。当然,python的回收机制也是处理这个问题。但是毕竟自动关闭是最佳的选择。但是每次f.close比较麻烦,所以引用with open的方式,它会自动帮我们执行f.close()函数。
with open('test.txt','r') as f: for line in f.xreadliens(): print line.strip()
上述的操作都是针对普通文件的操作,如果需要操作二进制文件的话,操作文件的mode需要改为‘rb’或者‘wb’。具体可以参考如下图:
2,python写文件
with open('test.txt','w') as f: f.write('this is test')
这样就完成基本的文件写操作,但是我们这里的模式是w,那么意味着原先的内容都被清空了,在清空文件内容的前提条件下,新增加的内容。
如果你不想要原文件的内容被清空,那么你就需要将模式改为追加模式,即'a'.
with open ('test.txt','a') as f: f.write('this is test')
3,python操作文件的常用方法
读模式:
read() 一次性将内容全部读取出来
readline() 读取文件的一行,比如打开文件后,执行f.readline()则表示读取文件的第一行,再次操作,读取文件的第二行
readlines() 读取文件的所有行,以列表的形式返回
xreadlines() 读取文件的行,返回对象,即生成器,需要使用for循环遍历
next() 读取文件的下一行
seek() 指定文件指针跳到那个位置,一般用于让指针跳到起始行开头的位置。即f.seek(0)
tell() 返回指针所在的位置
写模式:
wirte() 将内容一次性写入到文件中
writelines() 文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符
flush() 将修改刷新到磁盘上,一般情况下,你这边f.write写入内容。但是你没有f.close时,你写入文件的内容是暂时的缓存在内存的。除非你f.close()才会将文件刷到磁盘中,或者你使用f.flush()这个命令将内容刷新到磁盘上
close() 关闭文件
相关文章推荐
- 【Python】 高级文件操作 shutil
- Python 中的文件操作
- python 文件和文件夹操作 os模块和shutil模块
- python文件操作
- python入门(十):文件的操作详解
- python操作文件/文件夹
- python 异常处理、文件常用操作
- python学习第十八天 --文件操作
- Python在win系统下对文件操作时文件路径问题
- python文件操作模块glob
- Python-os与shutil对文件和文件夹的操作
- python之文件操作
- python文件和目录操作函数小结
- Python脚本控制的WebDriver 常用操作 <二十七> 文件下载
- python基础学习之文件操作
- python对文件的操作
- python 常见文件操作
- Python文件和目录操作详解
- python文件与目录操作实例详解
- Python:文件操作