Python操做文件夾

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)
相關文章
相關標籤/搜索