mmdbcn 发表于 2018-8-10 10:44:47

Python对文件的操作

  文件操作的步骤:
  打开文件 -> 操作文件 -> 关闭文件
打开文件
  文件句柄 = open('文件路径', '模式')
  f = open('/etc/passwd','r')
  with open('文件路径','模式') as 文件句柄: #不需要关闭文件。默认关闭
  with open('/etc/passwd')as f:
  打开文件的模式有:
  r,只读模式(默认)。
  w,只写模式。【不可读;不存在则创建;存在则删除内容;】
  a,追加模式。【可读;   不存在则创建;存在则只追加内容;】
  r+,可读写文件。【可读;可写;可追加】
  w+,写读
  "b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)
  R+b
  W+b
  A+b
  操作文件:
  >>> f = open('passwd')
  >>> f.close()#关闭文件
  >>> f.closed   #判断文件是否打开 打开为True。关闭为False
  True
  >>> f = open('passwd')
  >>> f.closed
  False
  >>> f.flush()#刷新缓冲区,将缓冲区中的数据立刻写入文件
  >>> f.mode   #模式
  'r'
  >>> f.name   #名字
  'passwd'
  >>> f.read()#以字符串的形式读取文件所有
  'root:x:0:0:root:/root:/bin/bash\nbin:x:1:1:bin:/bin:/sbin/nologin\ndaemon:x:2:2:daemon:/sbin:/sbin/nologin\nadm:x:3:4:adm:/var/adm:/sbin/nologin\nlp:x:4:7:lp:/var/spool/lpd:/sbin/nologin\nsync:x:5:0:sync:/sbin:/bin/sync\nshutdown:x:6:0:shutdown:/sbin:/sbin/shutdown\nhalt:x:7:0:halt:/sbin:/sbin/halt\nmail:x:8:12:mail:/var/spool/mail:/sbin/nologin\n'
  >>> f.readline() #以字符串形式读一行
  'root:x:0:0:root:/root:/bin/bash\n'
  >>> f.readlines() #以列表的形式读全部
  ['bin:x:1:1:bin:/bin:/sbin/nologin\n', 'daemon:x:2:2:daemon:/sbin:/sbin/nologin\n', 'adm:x:3:4:adm:/var/adm:/sbin/nologin\n', 'lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin\n', 'sync:x:5:0:sync:/sbin:/bin/sync\n', 'shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown\n', 'halt:x:7:0:halt:/sbin:/sbin/halt\n', 'mail:x:8:12:mail:/var/spool/mail:/sbin/nologin\n']
  >>> f.seek(20) #寻找
  >>> f.tell()   #查看位置
  20
  >>> f.write('\naaaaaaaaaaaaaaaaa') #写入文件
  ['root:x:0:0:root:/root:/bin/bash\n', 'bin:x:1:1:bin:/bin:/sbin/nologin\n', 'daemon:x:2:2:daemon:/sbin:/sbin/nologin\n', 'adm:x:3:4:adm:/var/adm:/sbin/nologin\n', 'lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin\n', 'sync:x:5:0:sync:/sbin:/bin/sync\n', 'shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown\n', 'halt:x:7:0:halt:/sbin:/sbin/halt\n', 'mail:x:8:12:mail:/var/spool/mail:/sbin/nologin\n',
  '\n', 'aaaaaaaaaaaaaaaaa']
页: [1]
查看完整版本: Python对文件的操作