Python 遍历子文件和所有子文件夹的代码实例

时间:2022-10-06 07:30:03

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

下面就是Python代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# -*- 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://blog.csdn.net/qian_f/article/details/9896283