Day12 文件操作

  • 文件操作

基本操作

1 f = open('lyrics') #打开文件
2 first_line = f.readline()
3 print('first line:',first_line) #读一行
4 print('*******'.center(50,'-'))
5 data = f.read()# 读取剩下的所有内容,文件大时不要用
6 print(data) #打印文件
7  
8 f.close() #关闭文件
f=open('yesterday',encoding='utf-8')#文件句柄

for line in f:
    print(line)
f.close()

打开文件的模式:

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

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

  • r+,可读写文件(可读;可写;可追加)
  • w+,写读
  • a+,同a

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

  • rU
  • r+U

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

  • rb
  • wb
  • ab

with语句

为避免打开文件后忘记关闭,可以通过管理上下文

with open('yesterday','r',encoding='utf-8') as f:
    for line in f:
        print(line)
#当代码执行完毕时,内部会自动关闭并释放文件资源

同时可以对多个文件的上下文进行管理

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

其他

f=open('yesterday',encoding='utf-8')#文件句柄

#打印当前位置(按字符计数)
print(f.tell())

#回到x位置
f.seek(0)

#打印文件编码
print(f.encoding)

#打印文件名字
print(f.name)

#是否为终端设备
print(f.isatty())

#强制刷新存储
print(f.flush())

#截断
f.truncate(10)
原文地址:https://www.cnblogs.com/q1ang/p/8886270.html