上一篇介绍了Python对文件的读写操作,现在来介绍一下Python对文件夹的操作。由于我是项目中用到的,所以我就以我的实际应用实例来说明吧。希望对大家有所帮助。
1、实例需求:
现在有一个文件夹myDir,该文件夹中又有n个文件夹dir1,Dir2, ..., dirN,每个文件夹中又有m个文件,这个实例需要达到的目的就是要将这n个文件夹dir1,Dir2, ..., dirN中的所有文件全部写到一个新文件中,该新文件在文件夹myDir下。
2、源代码:
test.py代码如下:
import os #导入操作文件夹需要的os模块 def linkFilesInDirs(rootDir, outputFile): #定义函数,参数为要操作的根文件夹,和最后要输出的新文件 fw=open(outputFile, ‘w‘) #以写方式打开文件 for dirName in os.listdir(rootDir): #列出rootDir目录下的所有文件夹和文件,并遍历结果 if os.path.isdir(dirName): #判断该结果是否是文件夹 print ‘process in dir: %s‘%dirName for fileName in os.listdir(dirName): #如果该结果是文件夹,则列出其目录下的所有文件并遍历 if not os.path.isdir(fileName): #判断是否是文件,只有是文件才被处理 fr=open(os.path.join(dirName,fileName), ‘r‘) #以读的方式打开该文件 for eachLine in fr: #遍历该文件的每一行 line = eachLine.strip().decode(‘utf-8‘, ‘ignore‘) outStr = line fw.write(outStr.strip().encode(‘utf-8‘) + ‘\n‘) #将内容写入到一个新的文件中 fr.close() fw.close() linkFilesInDirs(‘myDir‘, ‘newFile.txt‘)
注意:1、第5行的listdir函数不仅仅列出了该文件夹下的所有文件夹,还列出了所有文件;
2、第10行中,调用了join函数,是将文件所在的文件夹和文件名连接起来,这样就形成了文件的路径,按照路径来读取该文件。
同样是在Linux下操作的,代码写完之后,输入:python test.py 就可以运行该程序了。
【Python】Python对文件夹的操作,布布扣,bubuko.com
时间: 2024-10-13 22:29:38