【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对文件夹的操作,布布扣,bubuko.com

时间: 2024-10-13 22:29:38

【Python】Python对文件夹的操作的相关文章

python中对文件、文件夹的操作需要涉及到os模块和shutil模块。

创建文件:1) os.mknod("test.txt") 创建空文件2) open("test.txt",w) 直接打开一个文件,如果文件不存在则创建文件 创建目录:os.mkdir("file") 创建目录 创建多层新目录:def mkdirs(path): # 去除首位空格 path=path.strip() # 去除尾部 \ 符号 path=path.rstrip("\\") # 判断路径是否存在 # 存在 True #

python删除指定文件夹下文件和文件夹的方法

前记 ? python删除指定文件夹下的文件,是一个常用的功能.我找了不少地方,一直没有找到合适的模版,那只好自己倒腾一个比较实用的模版了. 基本模块 ? 这里面会用到几个模块,一个是??目录下所有文件的的函数:listdir 常用的使用方法: import os filenames = os.listdir('.') print(filenames) 另外一个就是查看该目录下是否有特定的文件,这个就是name.swith()函数,具体的使用方法如下: state = any(name.ends

【Java】利用文件输入输出流完成把一个文件夹内的所有文件拷贝的另一的文件夹的操作

一.基本目标 使用Java完成如下的操作: 把一个文件夹内的所有文件拷贝的另一的文件夹,例如,在F盘中有a与b两个文件夹: f:/a里面有一堆文件,运行Java程序之后就会全部复制到f:/b,并且完成重命名,在所有文件之前加rename_的前缀,如果里面有文件夹,则文件夹不重命名,里面的文件进行重命名,同样在所有文件之前加rename_的前缀: 二.制作过程 1.首先主函数非常简单,就是调用了上面FileTest类中的copyFolder函数 public class FileCopy { pu

沙盒模型中各文件夹及操作

某个iphone工程进行文件操作有此工程对应的指定的位置,不能逾越. iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. documents,tmp,app,Library. (NSHomeDirectory()), 手动保存的文件在documents文件里 Nsuserdefaults保存的文件在tmp文件夹里 Documents 目录:您应该将所有de应用程序数据文件写入到这个目录下.这个目录用于存储用户数据或其它应该定期备份的信

java io流 对文件夹的操作

检查文件夹是否存在 显示文件夹下面的文件 ....更多方法参考 http://www.cnblogs.com/phpyangbo/p/5965781.html ,与文件操作方法通用,因为都是一个类 //对文件夹的操作 //检查文件夹是否存在 //显示文件夹下面的文件 //.... import java.io.*; import java.util.*; public class Index{ public static void main(String[] args) throws Excep

WPF文件和文件夹的操作

1.对文件的操作 private void button_chose_Click(object sender, RoutedEventArgs e) { var openFileDialog = new Microsoft.Win32.OpenFileDialog() { Filter = "Excel Files (*.sql)|*.sql" }; var result = openFileDialog.ShowDialog(); if (result == true) { this

Delphi文件夹的操作

/// <remarks>/// 重命名文件夹/// </remarks>function ReNameDirectort(SourceDirectort, DestinationDirectort: string): Boolean;var  pDirOperate: TSHFileOpStruct;begin  Result := False;  if not DirectoryExists(SourceDirectort) then Exit;  FillChar(pDirO

SFTP上传下载文件、文件夹常用操作

SFTP上传下载文件.文件夹常用操作 1.查看上传下载目录lpwd 2.改变上传和下载的目录(例如D盘):lcd  d:/ 3.查看当前路径pwd 4.下载文件(例如我要将服务器上tomcat的日志文件取出来)进入你要下的文件所在的文件夹:cd /usr/apache-tomcat-6.0.39/logs/下载:get catalina.out 5.上传文件(例如我要上传一个文件到usr目录下)进入你想要上传文件的目录cd /usr上传文件put do.sh 6.上传下载文件夹格式:下载文件夹g

创建文件夹删除文件夹等操作

文件夹的操作 一.新建文件夹的操作 public static void creatfolder(String fileName) { File file=new File(fileName); if (file.isDirectory()) { try { file.createNewFile(); } catch (IOException e) { } }else { System.out.println("这不是一个文件夹"); } 二.删除文件夹 public static v