python html5 bootstrap 视频教程
德云社区 门户 IT 编程 编程语言 Python 查看内容

python 2.7.8 下的简单目录文件 “遍历” 操作

2014-12-18 17:08| 发布者: digitser| 查看: 2429| 评论: 2|原作者: liangsheng

摘要: python 2.7.8 下的简单目录文件 “遍历” 操作 python 作为脚本语言,在很多时候需要简单的 “遍历” 文件或目录。以下为一种简单目录文件“遍历” 操作案例,可把相应目录下所有文件的完整路径“遍历” 保存到一 ...
自动立式分页纸箱赋码系统 ── 全自动 专业 立式分页 瓦楞纸 水性油墨 贴标 喷码 检测系统

       python 作为脚本语言,在很多时候需要简单的 “遍历” 文件或目录。以下为一种简单目录文件“遍历” 操作案例,可把相应目录下所有文件的完整路径  “遍历” 保存到一单独自定义文件内。现分享一下源代码,大家一起共同进步:
  1. #!/usr/bin/env python2
  2. # -*- coding: UTF-8 -*-

  3. import os

  4. path = raw_input("Please typing pathname to read:")                     #要读取的带盘符完整目录路径

  5. witefile = raw_input("Please typing filepath to write:")                #要写入的带盘符完整文件路径

  6. def walk_dir(path):                                                     #自定义 walk_dir() 函数
  7.     walk_generate = os.walk(path)                                       #获取目录遍历生成器   
  8.     fullpath_namelist = []
  9.     for dirpath, dirnames, filenames in walk_generate:                  #提取目录遍历生成器元组元素
  10.         for filename in filenames:                                      #循环提取文件名
  11.             fullpath_name = dirpath.replace("\\", "/") + "/" + filename #把 "\\" 替换成 "/",拼接形成完整文件路径名
  12.             fullpath_namelist.append(fullpath_name)
  13.     return fullpath_namelist                        

  14. filepaths = walk_dir(path)                                                 #调用自定义 walk_dir() 函数

  15. print(filepaths)
  16. print(len(filepaths))

  17. copyfile = open(witefile, "w+")

  18. for filepath in filepaths:     
  19.     copyfile.write(filepath + "\n")    #换行写入文件
  20.     print(filepath)
  21.    
  22. copyfile.close()

复制代码
1、raw_input() 内置函数社区内已有相关主题,不多说。请 "单击此处" 前往查看。

2、open() 内置函数社区内也有相关主题,不多说。请 "单击此处" 前往查看。

3、for 循环很简单且常用,也不多说。

4、def 自定义函数,请 "单击此处" 前往查看。

5、file.write()、file.close() 方法社区内也有相关主题,请 "单击此处" 前往查看。

6、这里主要讲一下 os.walk() 函数,此源代码的重点使用就是它。以下为官方原 EN 中文翻译,大家可参考一下:
     os.walk() 函数官方原 EN 帮助文档编制中文翻译
       按自顶-向下或自底-向上方式遍历树,生成目录树文件名。扎根于 top (包括 top 自身) 目录的各树目录会产生 (dirpath, dirnames, filenames) 3-元组。

       dirpath 是目录路径字符串。dirnamesdirpath 下子目录名称列表 (不包括 '.'、'..')。filenamesdirpath 下非-目录文件名称列表。注意:列表中的名称不含路径分量。若想获得以 top 开头的 dirpath 下文件或目录的完整路径,可调用 os.path.join(dirpath, name) 函数。

       若可选 topdown 自变量为 True 或不指定,在自顶-向下生成任何子目录 3 元组前会先生成目录 3 元组。若 topdown 为 False,在自底-向上生成所有子目录 3 元组后才会生成目录 3 元组。不管 topdown 值,在生成目录及其子目录元组前会检索子目录列表。

       当 topdown 为 True 时,调用者会原-位修改 dirnames 列表 (可能使用 del 或切片赋值),且 walk() 函数只会递归到名称留在 dirnames 下的子目录;这能修剪搜索,施加特定拜访次序,甚至通报 walk() 函数调用者创建或重命名有关目录,在再次重新开始 walk() 函数前。当 topdown 为 False 时,修改 dirnames 会不起作用;因为,生成 dirpath 本身前会按自底-向上方式生成 dirnames 中目录。

       默认情况下,会忽略调用 listdir() 函数时的错误。若指定的话,可选 onerror 自变量应为函数;会采用一 OSError (操作系统错误) 实例自变量调用该函数。它会报告错误以继续遍历或引发中止遍历异常。注意:文件名可用作异常对象 filename (文件名) 属性。

       默认情况下,walk() 函数不会遍历解析目录符号链接。把 followlinks 设为 True 可拜访符号链接 (当系统支持时) 指向目录。

2.6 版新增:followlinks 参数。
版权声明:
本文为独家原创稿件,版权归 德云社区,未经许可不得转载;否则,将追究法律责任。


路过

雷人

握手

鲜花

鸡蛋
AI人工智能 语音助理 人工翻译 教程

相关阅读

发表评论

最新评论

引用 liangsheng 2014-12-18 16:35
python 2.7.8 下的简单目录文件“遍历”操作
引用 liangsheng 2014-12-18 16:35
python 2.7.8 下的简单目录文件“遍历”操作

查看全部评论(2)

相关分类

CSS3 官方中文文档编制 手册教程 人工翻译 更新日志
CSS3 官方中文文档编制 手册教程 人工翻译 更新日志 CSS3 中文文档编制采用机器辅助 + 全人工翻译,完全采用 数字翻译 的文档翻译流程进行汉化 (未采用任何第 3 方工具),[881/2022-07-31]
CSS3 官方中文文档编制 手册教程 帮助文件 人工翻译
CSS3 官方中文文档编制 手册教程 帮助文件 人工翻译 CSS3 中文文档编制采用机器辅助 + 全人工翻译,完全采用 数字翻译 的文档翻译流程进行汉化 (未采用任何第 3 方工具),[1000/2022-07-31]
SolidWorks 2020 非对称Conic Rho圆角 抽壳出现模型穿刺
SolidWorks 2020 非对称Conic Rho圆角 抽壳出现模型穿刺 标准对称圆角最常用,但有时偶尔也会用到非对称圆角。 特别是模具、五金、电子、手饰、汽车、家具、玩具、等对圆[879/2022-05-25]
NumPy 1.22 官方中文文档编制 手册帮助 更新日志
NumPy 1.22 官方中文文档编制 手册帮助 更新日志 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 NumPy 1.22。 NumPy 1.22 中文文档编制采用[572/2022-05-22]
NumPy 1.22 官方中文文档编制 手册帮助 全人工翻译
NumPy 1.22 官方中文文档编制 手册帮助 全人工翻译 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 NumPy 1.22。 NumPy 1.22 中文文档编制采[645/2022-05-22]
Pillow 9.1.1 官方中文文档编制 手册帮助 更新日志
Pillow 9.1.1 官方中文文档编制 手册帮助 更新日志 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 Pillow 9.1.1。 Pillow 9.1.1 中文文档编[615/2022-05-22]
Pillow 9.1.1 官方中文文档编制 手册帮助 全人工翻译
Pillow 9.1.1 官方中文文档编制 手册帮助 全人工翻译 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 Pillow 9.1.1。 Pillow 9.1.1 中文文档[567/2022-05-22]
PyMuPDF 1.19.6 官方中文文档编制 手册帮助 更新日志
PyMuPDF 1.19.6 官方中文文档编制 手册帮助 更新日志 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 PyMuPDF 1.19.6。 PyMuPDF 1.19.6 中文[1146/2022-05-22]
PyMuPDF 1.19.6 官方中文文档编制 手册帮助 全人工翻译
PyMuPDF 1.19.6 官方中文文档编制 手册帮助 全人工翻译 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 PyMuPDF 1.19.6。 PyMuPDF 1.19.6 中[980/2022-05-22]
Qt 6.3.0 官方中文文档编制 手册教程 帮助文件 人工翻译
Qt 6.3.0 官方中文文档编制 手册教程 帮助文件 人工翻译 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 Qt 6.3.0。 Qt 6.3.0 中文文档编制[2433/2022-05-02]
Qt 6.3.0 官方中文文档编制 手册教程 人工翻译更新日志
Qt 6.3.0 官方中文文档编制 手册教程 人工翻译更新日志 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 Qt 6.3.0。 Qt 6.3.0 中文文档编制采[2016/2022-05-02]
MAGIX Music Maker Premium - 易学易用 功能强大的可视化编曲软件
MAGIX Music Maker Premium - 易学易用 功能强大的可视化编曲软件 MAGIX Music Maker 是德国 Magix 出品的可视化编曲软件,功能强大、使用简单、容易上手。 MAGIX Music Ma[1728/2022-04-11]
MQTT - 消息队列遥测技术 M2M机器到机器 IoT物联网 通信协议
MQTT - 消息队列遥测技术 M2M机器到机器 IoT物联网 通信协议 MQTT 是 Message Queuing Telemetry Transport 的缩写,中文译为消息队列遥测传输。 MQTT 是 ISO 标准 (ISO/I[606/2022-02-24]
数字 Python IDE 2022 注册机 注册码生成器 附详细破解方法
数字 Python IDE 2022 注册机 注册码生成器 附详细破解方法 数字 Python IDE 目前还在不断研发 进步中,虽不太成熟,但其新理念很有特色 特别适于多版本 多文档 多工程并行[668/2022-02-01]
数字翻译 2022 注册机 注册码生成器 内存破解器 附详细用法
数字翻译 2022 注册机 注册码生成器 内存破解器 附详细用法 数字翻译目前还在不断研发 进步中,虽不太成熟,但其新理念很有特色 特别适于 HTML 文档本地化 (面向高精度 超[623/2022-02-01]

Archiver|Sitemap|小黑屋|德云社区   

GMT+8, 2024-4-19 19:27 , Processed in 0.061065 second(s), 28 queries .

工业和信息化部: 粤ICP备14079481号-2

技术支持 乐数软件     版权所有 © 2014-2021 德云社区    

返回顶部