zoukankan      html  css  js  c++  java
  • 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+"目录<>"+"
    "
        returndirstr = ""
        returnfilestr = ""
        filelist = os.listdir(filepath)
        for num in range(len(filelist)):
            filename=filelist[num]
            if os.path.isdir(filepath+"/"+filename):
                returndirstr += "	"*tabnum+getfilelist(filepath+"/"+filename, tabnum+1)
            else:
                returnfilestr += "	"*tabnum+filename+"
    "
        returnstr += returnfilestr+returndirstr
        return returnstr+"	"*tabnum+"</>
    "
    
    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)
    
  • 相关阅读:
    Ecshop屏幕wap
    SQLite命令
    初识SQLite
    last_insert_id()
    php中的全局变量global(低级错误啊)
    在搜索框加入语音搜索
    解压zip文件出现bash:unzip:commond not found
    DataView.RowFilter使用
    设计自己的模板引擎(一)模板替换中的嵌套循环处理
    没完没了的Cookie,读懂asp.net,asp等web编程中的cookies 
  • 原文地址:https://www.cnblogs.com/sixu/p/8017100.html
Copyright © 2011-2022 走看看