码迷,mamicode.com
首页 > 编程语言 > 详细

【Python】Python对文件夹的操作

时间:2014-05-22 12:29:44      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:python   linux   utf-8   

  上一篇介绍了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

【Python】Python对文件夹的操作

标签:python   linux   utf-8   

原文地址:http://blog.csdn.net/xiaoguaihai/article/details/26280817

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!