45fan.com - 路饭网

搜索: 您的位置主页 > 网络频道 > 阅读资讯:怎么样使用Python遍历子文件和所有文件夹?

怎么样使用Python遍历子文件和所有文件夹?

2016-12-29 20:11:44 来源:www.45fan.com 【

怎么样使用Python遍历子文件和所有文件夹?

最近看ECShop到网上找资料,发现好多说明ECShop的文件结构不全面,于是想自己弄个出来。但这是个无聊耗时的工作,自己就写了个Python脚本,可以递归遍历目录下的所有文件和所有子目录,并将结果记录到一个.xml文件中(因为想使用Notepad++的代码折叠功能,所以使用.xml文件)。

下面就是Python代码:

# -*- coding: cp936 -*- 
 
############################################# 
# Written By Qian_F      #  
# 获取文件路径列表,并写入到当前目录生成test.txt # 
############################################# 
 
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" 
    
 
path = raw_input("请输入文件路径:") 
usefulpath = path.replace('\\', '/') 
if usefulpath.endswith("/"): 
 usefulpath = usefulpath[:-1] 
if not os.path.exists(usefulpath): 
 print "路径错误!" 
elif not os.path.isdir(usefulpath): 
 print "输入的不是目录!" 
else: 
 filelist = os.listdir(usefulpath) 
 o=open("test.xml","w+") 
 o.writelines(getfilelist(usefulpath)) 
 o.close() 
 print "成功!请查看test.xml文件" 

执行该Python脚本后会在当前目录生成test.xml文件,使用Notepad++打开(以ANSI编码方式)就可以看到指定目录的文件结构了。下面是我生成的ECShop下upload目录的文件结构部分截图:

怎么样使用Python遍历子文件和所有文件夹?

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持路饭。


本文地址:http://www.45fan.com/a/question/86254.html
Tags: 文件 python 遍历
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部