Python遍历文件夹和读写文件的实现方法

405次阅读  |  发布于5年以前

需 求 分 析

1、读取指定目录下的所有文件

2、读取指定文件,输出文件内容

3、创建一个文件并保存到指定目录

实 现 过 程

Python写代码简洁高效,实现以上功能仅用了40行左右的代码~ 昨天用Java写了一个写入、创建、复制、重命名文件要将近60行代码;

不过简洁的代价是牺牲了一点点运行速度,但随着硬件性能的提升,运行速度的差异会越来越小,直到人类无法察觉~


    #-*- coding: UTF-8 -*- 

    '''
    1、读取指定目录下的所有文件
    2、读取指定文件,输出文件内容
    3、创建一个文件并保存到指定目录
    '''
    import os

    # 遍历指定目录,显示目录下的所有文件名
    def eachFile(filepath):
      pathDir = os.listdir(filepath)
      for allDir in pathDir:
        child = os.path.join('%s%s' % (filepath, allDir))
        print child.decode('gbk') # .decode('gbk')是解决中文显示乱码问题

    # 读取文件内容并打印
    def readFile(filename):
      fopen = open(filename, 'r') # r 代表read
      for eachLine in fopen:
        print "读取到得内容如下:",eachLine
      fopen.close()

    # 输入多行文字,写入指定文件并保存到指定文件夹
    def writeFile(filename):
      fopen = open(filename, 'w')
      print "\r请任意输入多行文字"," ( 输入 .号回车保存)"
      while True:
        aLine = raw_input()
        if aLine != ".":
          fopen.write('%s%s' % (aLine, os.linesep))
        else:
          print "文件已保存!"
          break
      fopen.close()

    if __name__ == '__main__':
      filePath = "D:\\FileDemo\\Java\\myJava.txt"
      filePathI = "D:\\FileDemo\\Python\\pt.py"
      filePathC = "C:\\"
      eachFile(filePathC)
      readFile(filePath)
      writeFile(filePathI)

工欲善其事

最近尝试了几个常见的Python IDE,发现Subline tx2对中文的支持不好, NotePad++ 代码自定义颜色不方便。

用来用去还是Eclipse最顺手,装上PyDev插件之后,编写Python代码很方便;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8