【Python】Python对文件夹的操作

  上一篇介绍了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对文件夹的操作,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。