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)
    
  • 相关阅读:
    python,抓取百度搜索结果
    python关键字 with
    python 字符串处理
    采用主动模式进行文件的上传、下载
    系统的备份和恢复
    javascript中的defer
    程序调用批处理完成上传、下载
    vb.net中的ftp上传、拨号、socket通讯的源码
    CF1033G Chip Game
    LG3369 普通平衡树
  • 原文地址:https://www.cnblogs.com/sixu/p/8017100.html
Copyright © 2011-2022 走看看