当前位置: 首页 > news >正文

python 遍历所有文件夹和子文件夹_Python 遍历子文件和所有子文件夹的代码实例...

最近看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 numin 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目录的文件结构部分截图:

1-200915131Z2X6.png

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

原文链接:http://blog.csdn.net/qian_f/article/details/9896283

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • redis模糊查询key前缀_Redis内存数据监控实战
  • completablefuture 线程池_线程池ForkJoinPool简介
  • 判断多个数据是否是两个素数相乘_循环结构程序举例2素数的判断
  • chrome 验证码识别 扩展_chrome插件市场国内无法打开,我来教你如何安装插件
  • python深度神经网络_PyTorch进阶:深度神经网络中的前馈过程(图解分析)
  • python判断能否组成三角形_如何用PYTHON判断三角形的类型 需要技巧
  • 查看python安装成功的命令_Python sqlite3模块 安装查询命令等使用讲解
  • python输入半径计算公式_python练习:取输入半径的周长和面积
  • python重命名文件或目录_命令和Python重命名文件
  • python 列表_Python 算法 09 -- 散列表
  • python粘性拓展_拓展Python Markdown
  • ping不通服务器_服务器远程桌面不上不要急,这就告诉你原因
  • 钢笔墨水能否代替打印机墨水_喷墨打印机该用染料墨水还是颜料墨水,区别在哪里?...
  • 零基础学python靠谱吗_零基础学python的我(开篇扯淡)
  • linux安装ssh_如何为Ubuntu服务器建立无密码SSH认证
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • 【从零开始安装kubernetes-1.7.3】2.flannel、docker以及Harbor的配置以及作用
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • ES2017异步函数现已正式可用
  • iOS 系统授权开发
  • laravel5.5 视图共享数据
  • log4j2输出到kafka
  • mongo索引构建
  • Mysql5.6主从复制
  • nodejs实现webservice问题总结
  • React的组件模式
  • React中的“虫洞”——Context
  • SOFAMosn配置模型
  • spring + angular 实现导出excel
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 前嗅ForeSpider中数据浏览界面介绍
  • 如何借助 NoSQL 提高 JPA 应用性能
  • 使用 5W1H 写出高可读的 Git Commit Message
  • 详解移动APP与web APP的区别
  • 智能合约开发环境搭建及Hello World合约
  • C# - 为值类型重定义相等性
  • ​HTTP与HTTPS:网络通信的安全卫士
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • (1)Jupyter Notebook 下载及安装
  • (27)4.8 习题课
  • (HAL库版)freeRTOS移植STMF103
  • (STM32笔记)九、RCC时钟树与时钟 第一部分
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (十一)图像的罗伯特梯度锐化
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • ***原理与防范
  • .halo勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .net 7 上传文件踩坑
  • .net core 的缓存方案
  • .NET MAUI Sqlite程序应用-数据库配置(一)