博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python操作文件夹
阅读量:5288 次
发布时间:2019-06-14

本文共 2469 字,大约阅读时间需要 8 分钟。

python对文件夹的操作汇总,方便查阅使用

1、遍历指定目录,显示目录下的所有文件名

#-*- coding:utf-8 -*-import osdef fileInFolder(filepath):    pathDir =  os.listdir(filepath)  # 获取filepath文件夹下的所有的文件    files = []    for allDir in pathDir:        child = os.path.join('%s\\%s' % (filepath, allDir))        files.append(child.decode('gbk'))  # .decode('gbk')是解决中文显示乱码问题        # print child        # if os.path.isdir(child):        #     print child        #     simplepath = os.path.split(child)        #     print simplepath    return filesfilepath = "C:\\files"print  fileInFolder(filepath)输出:[u'C:\\files\\a.txt', u'C:\\files\\b.txt', u'C:\\files\\c']

  

2、遍历文件夹及其子文件夹的所有文件,获取文件的列表

#-*- coding:utf-8 -*-import osdef getfilelist(filepath):    filelist =  os.listdir(filepath)  # 获取filepath文件夹下的所有的文件    files = []    for i in range(len(filelist)):        child = os.path.join('%s\\%s' % (filepath, filelist[i]))        if os.path.isdir(child):            files.extend(getfilelist(child))        else:            files.append(child)    return filesfilepath = "C:\\files"print getfilelist(filepath)输出:['C:\\files\\a.txt', 'C:\\files\\b.txt', 'C:\\files\\c\\d.txt', 'C:\\files\\c\\e.txt', 'C:\\files\\c\\f\\g.txt']

  

3、Python 遍历子文件和所有子文件夹 输出字符串

 参考: http://blog.csdn.net/Qian_F/article/details/9896283

 

#-*- coding:utf-8 -*-import osdef getfilelist(filepath, tabnum=1):    simplepath = os.path.split(filepath)[1]    returnstr = simplepath+"目录<>"+"\n"    returndirstr = ""    returnfilestr = ""    filelist = os.listdir(filepath)    for num in range(len(filelist)):        filename=filelist[num]        if os.path.isdir(filepath+"/"+filename):            returndirstr += "\t"*tabnum+getfilelist(filepath+"/"+filename, tabnum+1)        else:            returnfilestr += "\t"*tabnum+filename+"\n"    returnstr += returnfilestr+returndirstr    return returnstr+"\t"*tabnum+"\n"filepath = "C:\\files"f = open("test.xml","w+")f.writelines(getfilelist(filepath))f.close()

  

4、对文件批量更名

#-*- coding:utf-8 -*-import osdef filesRename(filepath):    filelist =  os.listdir(filepath)  # 获取filepath文件夹下的所有的文件    files = []    for i in range(len(filelist)):        child = os.path.join('%s\\%s' % (filepath, filelist[i]))        if os.path.isdir(child):            continue        else:            newName = os.path.join('%s\\%s' % (filepath, str(i) + "_" + filelist[i]))            print newName            os.rename(child, newName)filepath = "C:\\files2"filesRename(filepath)

 

转载于:https://www.cnblogs.com/sixu/p/8017100.html

你可能感兴趣的文章
实用Android开发工具和资源精选
查看>>
TileMap
查看>>
JS属性大全
查看>>
java复制文件
查看>>
第一册:lesson seventy nine.
查看>>
GCD的同步异步串行并行、NSOperation和NSOperationQueue一级用dispatch_once实现单例
查看>>
团队作业
查看>>
数据持久化时的小bug
查看>>
mysql中key 、primary key 、unique key 与index区别
查看>>
bzoj2257
查看>>
Linux查看文件编码格式及文件编码转换<转>
查看>>
Leetcode: Find Leaves of Binary Tree
查看>>
SpringBoot13 利用mybatis-plus自动生成entity、dao、service、controller
查看>>
Vue 模板解释
查看>>
http://www.bootcss.com/
查看>>
20145308 《网络对抗》 注入shellcode+Return-to-libc攻击 学习总结
查看>>
将多张图片和文字合成一张图片
查看>>
自己动手写ORM(01):解析表达式树生成Sql碎片
查看>>
如何使用USBWebserver在本机快速建立网站测试环境
查看>>
百度Ueditor编辑器的Html模式自动替换样式的解决方法
查看>>