首页 > 编程语言 > 详细

python 文件操作

时间:2019-10-29 18:44:50      阅读:68      评论:0      收藏:0      [点我收藏+]

参考自:https://www.cnblogs.com/alex3714/articles/5717620.html

 

1. 文件基础操作

f = open(test.txt) #打开文件
first_line = f.readline()       # 每次读一行,并移动文件指针
print(first line:,first_line) #读一行
print(分隔线.center(50,-))
data = f.read()  # 读取剩下的所有内容,会一次性读取到内存,可能导致内存溢出
print(data)     #打印文件内容
 
f.close() #关闭文件

2. with open 语句

上面的文件操作需要手动关闭文件:f.close(),为了避免打开文件后忘记关闭,可以通过管理上下文,当with代码块执行完毕时,内部会自动关闭并释放文件资源,例如:

with open(test.txt,r,encoding=utf-8) as f:
    print(f.readline())

在Python 2.7 后,with又支持同时对多个文件的上下文进行管理,即:

with open(log1) as obj1, open(log2) as obj2:
    pass

3. 打开文件的方式

打开文件的模式有:

  • r, 只读模式(默认)。
  • w,只写模式。【不可读;不存在则创建;存在则删除内容;】
  • a,追加模式。【可读;   不存在则创建;存在则只追加内容;】

"+" 表示可以同时读写某个文件

  • r+,可读写文件。【可读;可写(作为追加模式);可追加】
  • w+,写读【先写入,后读取,如果存在文件,先覆盖写入,在读取,没啥用】
  • a+,追加写入读取,默认文件指针处在文件的末尾,如果要读取,需要先f.seek(0),而无论文件指针处在什么位置,只要写入,就追加写在文件末尾

"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)

  • rU
  • r+U

"b"表示处理二进制文件(如:图片、视频、音频,FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)

  • rb
  • wb
  • ab

4. 常用方法

with open(text.txt,r,encoding=utf-8) as f:
    content = f.read() # 一次性读取文件所有内容,如果文件过大,内存溢出的话,不能读取全部内容!
    f.readlines()  # 一次性读取所有文件的行,生成一个列表,效率低
    f.readline()   # 读取文件的一行,效率高
    f.tell()       # 获取文件的指针所在字节位置
    f.seek()       # 移动文件的指针
    f.flush()      # 刷新缓存,直接将文件写入
    f.truncate(8)  # 截取文件前8个字节
    for line in f: # 循环读取文件的行,效率高
        print(line)
f.write(‘new message‘)

 

python 文件操作

原文:https://www.cnblogs.com/wztshine/p/11760369.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!