python對文件夾的操做彙總,方便查閱使用python
一、遍歷指定目錄,顯示目錄下的全部文件名app
#-*- 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']
二、遍歷文件夾及其子文件夾的全部文件,獲取文件的列表.net
#-*- 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']
三、Python 遍歷子文件和全部子文件夾 輸出字符串code
參考: http://blog.csdn.net/Qian_F/article/details/9896283xml
#-*- 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()
四、對文件批量改名blog
#-*- 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)