Home >Backend Development >Python Tutorial >Python implementation of traversing folders and reading and writing files
需 求 分 析
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代码很方便;
更多Python遍历文件夹和读写文件的实现相关文章请关注PHP中文网!