python学习笔记(一)-文件操作

发布时间:2019-08-24 09:29:18编辑:auto阅读(1172)

    python的基本文件操作是包含在__buildin__模块中的。

      I, 基本操作1, 打开fh=open('filename', 'r')

      fh是打开文件的handle,每一个被打开的文件都应该退出时关闭(除了handle没有赋给变量的文件,如open('filename')。

      参数:r    只读rU  忽略不同的换行符格式的只读打开rb   以二进制格式只读打开w  写wb  以二进制写打开

      2,读写# 读取全部内容text=fh.read()

      # 读取100个字节text=fh.read(100)

      # 按行读取text=fh.readlines()

      # seek fh.seek(100)

      # 写fh.write(text)

      3,关闭fh.close()

      因为python支持错误处理,所以一般对文件的操作写成下面的形式:fh=open('filename')

      try:for line in fh:precess line finally:fh.close()

      4, 对文件中的每一行进行处理# case 1 fh=open('filename')

      for line in fh:print(line)

      fh.close()

      # case 2 fh=open('filename')

      lines=fh.readline()

      for line in lines:print(line)

      fh.close()

      更进一步,对每一行的每一个word进行处理fh=open('filename')

      lines=fh.readline()

      for line in lines:for word in line:print(line)

      fh.close()

      5, 替换文件中的某个字符fin = open('filein', r)

      fout = open('fileout', w)

      for s in fin:fout.write(s.replace('oldstring', 'newstring')

      fout.close()

      fin.close()

      II, os.path介绍操作文件,免不了要对路径,目录名,文件名进行处理。python提供了path的模块,帮助处理这类事务。可以在python中使用help(os.path)查看详细帮助。

      1, 目录遍历os.walk()

      os.walk()函数返回一个三元组,依次为父目录名,目录名,文件名,他们之间以逗号分割。假设当前目录的目录结构如下:。

      ├── fstab├── mybackup.py└── sampledir├── 1├── 2└── 3则os.walk('.')返回如下:('.', ['sampledir'], ['fstab', 'mybackup.py'])

      ('./sampledir', ['1', '2', '3'], [])

      ('./sampledir/1', [], [])

      ('./sampledir/2', [], [])

      ('./sampledir/3', [], [])

      2,路径,目录名,文件名处理# 将路径名以最后一个/分割,返回一个二元组,如/etc/fstab被划分为/etc/, fstab os.path.split(path)

      # 将路径名划分为盘符和其他,如'C:/windows'被划分为C和windows os.path.splitdrive(path)

      # 将路径名划分为扩展名和其他,如d:/sample.txt被划分为d:/sample和txt. os.path.spltext(path)

      # 将两个路径连接,如'sdir'和'sfile'连接成'sdir/sfile' os.path.join(path1,path2)

      # 返回绝对路径os.path.abspath(path)

      # 返回目录名os.path.dirname(path)

      # 返回文件名os.path.basename(path)

      # 返回真实路径,即通过link找到真实的文件路径os.path.realpath(path)

      III, zipfile介绍python提供了直接对zip文件的读写。

      import zipfile z = zipfile.ZipFile("zipfile.zip", "r")

      for filename in z.namelist( ):print 'File:', filename,bytes = z.read(filename)

      print 'has', len(bytes), 'bytes'详细信息请help(zipfile)

      IV, shutil介绍shutil是用于复制及打包文件/目录的模块。

      copyfile(src,dst)

      copytree(src, dst, symlinks=False, ignore=None)

      move(src,dst)

      make_archive()

      V,  stat介绍import os import stat filestat = os.stat('text.txt')

关键字