python展示文件_Python操作文件夹

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

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

#-*- coding:utf-8 -*-

import os

def 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 files

filepath = "C:\\files"

print fileInFolder(filepath)

输出:

[u'C:\\files\\a.txt', u'C:\\files\\b.txt', u'C:\\files\\c']

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

#-*- coding:utf-8 -*-

import os

def 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 files

filepath = "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 os

def 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 os

def 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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值