情况1:在一个目录下面只有文件,没有文件夹,这个时候可以使用os.listdir

在我们的桌面上有一个file目录(文件夹),里面有三个文件

file(dir)|

--|test1.txt

--|test2.txt

--|test3.txt

用下面的程序获得文件的绝对路径:

importos

path= r'C:\Users\Administrator\Desktop\file'

for filename inos.listdir(path):print(os.path.join(path,filename))

使用os.listdir读取到一个目录下面所有的文件名,然后使用os.path.join把目录的路径和文件名结合起来,就得到了文件的绝路路径,结果如下:

C:\Users\Administrator\Desktop\file\test1.txt

C:\Users\Administrator\Desktop\file\test2.txt

C:\Users\Administrator\Desktop\file\test3.txt

情况2:递归的情况,一个目录下面既有目录也有文件,使用os.walk:

os.walk介绍:

我们在桌面上面建立一个file目录,里面的组织结构如下:

file(dir):

--|file1(dir):

--|file1_test1.txt

--|file1_test2.txt

--|file2(dir)

--|file2_test1.txt

--|file_test1.txt

--|file_test2.txt

运行一下代码:

importos

path= r'C:\Users\Administrator\Desktop\file'

for dirpath,dirnames,filenames inos.walk(path):print(dirpath,dirnames,filenames)

输出结果如下:

C:\Users\Administrator\Desktop\file ['file1', 'file2'] ['file_test1.txt', 'file_test2 .txt']

C:\Users\Administrator\Desktop\file\file1 [] ['file1_test1.txt', 'file1_test2.txt']

C:\Users\Administrator\Desktop\file\file2 [] ['file2_test1.txt']

os.walk输入一个路径名称,以yield的方式(其实是一个生成器)返回一个三元组 dirpath, dirnames, filenames,

dirpath为目录的路径,为一个字符串。比如上面的 C:\Users\Administrator\Desktop\file和C:\Users\Administrator\Desktop\file\file1等。

dirnames列出了目录路径下面所有存在的目录的名称。比如在 C:\Users\Administrator\Desktop\file下面有两个目录:file1和file2,那么它就列出了这个目录路径下的目录名称。

filenames列出了目录路径下面所有文件的名称。同样在 C:\Users\Administrator\Desktop\file下面有两个文件file_test1.txt和file_test2 .txt,那么程序将会列出这两个文件名。

如何获得一个路径下面所有的文件路径:

importos

path= r'C:\Users\Administrator\Desktop\file'

for dirpath,dirnames,filenames inos.walk(path):for filename infilenames:print(os.path.join(dirpath,filename))

得到的结果如下:

C:\Users\Administrator\Desktop\file\file_test1.txt

C:\Users\Administrator\Desktop\file\file_test2 .txt

C:\Users\Administrator\Desktop\file\file1\file1_test1.txt

C:\Users\Administrator\Desktop\file\file1\file1_test2.txt

C:\Users\Administrator\Desktop\file\file2\file2_test1.txt

python的os为啥找不到文件_python使用os.listdir和os.walk获得文件的路径相关推荐

  1. python遍历目录树 除文件_python遍历目录树删除指定后缀的文件

    删除 I:\web_img\JD_IMG\web_img 下所有后缀为.HAPPY5CHOOSE的文件 思路:利用os.walk 将所有文件目录树找出来,其次将目录树中所有后缀为.HAPPY5CHOO ...

  2. python指定位置写入文件_Python中如何在指定目录下进行文件的读写操作

    一.python的简单读写操作 在python中,可以使用open函数,打开一个已经存在的文件,或者创建一个新文件.常用操作示例如下: # 在当前目录下创建并打开一个文件夹,若文件已有则打开文件tes ...

  3. python 逐行读取文件_Python fileinput模块:逐行读取多个文件

    前面章节中,我们学会了使用 open() 和 read()(或者 readline().readlines() )组合,来读取单个文件中的数据.但在某些场景中,可能需要读取多个文件的数据,这种情况下, ...

  4. python写入pdf文件_Python用于NLP :处理文本和PDF文件

    Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 这是我的Python用于自然语言处理(NLP)系列文章的第一篇文章.在本文中,我们将从Python for ...

  5. python打开电脑文件_python办公自动化:自动打开word文档-docx文件怎样打开

    上节python办公自动化:python自动化word快速入门,对python自动化word的操作做了快速入门,从本小节开始,逐步细致的分解讲解每一个关键步骤. python自动化word 使用文档 ...

  6. python中open函数打开文件_Python open函数详解:打开指定文件

    掌握了各种操作目录字符串或目录的函数之后,接下来可以准备读写文件了.在进行文件读写之前,首先要打开文件. Python 提供了一个内置的 open() 函数,该函数用于打开指定文件. open() 函 ...

  7. python的open打开中文文件_Python笔记 —— 使用open打开和操作txt文件

    打开:有两种方式 with open(r"data.txt", "r", encoding="utf-8") as f: f = open( ...

  8. python查看目录下的文件_Python——查看目录下所有的目录和文件

    原博文 2019-05-06 19:31 − 写程序我们经常会遇到需要遍历某一个目录下的所有文件这个操作,然而python有现成的库,只需要2个循环就可以搞定. 1 import os 2 3 def ...

  9. python资源管理器选择文件_Python:在资源管理器中获取选定文件的列表(windows7)...

    我知道现在在这里发布答案有点晚了,但我几个月前尝试过Olav的解决方案,但它没有完全起作用:工作目录是脚本的工作目录,所以我不得不删除if条件才能使其工作,但它选择了所有Windows资源管理器窗口中 ...

最新文章

  1. Centos6.4下安装及配置FTP Server
  2. SpringBoot 中配置加载优先级
  3. Nagios 安装教程
  4. 在虚幻引擎 4 中处理内存泄漏问题
  5. python3对接聊天机器人API
  6. 如何在同一地方组建多个 ZigBee 网络
  7. 华为机试HJ44:Sudoku(数独问题,深度优先遍历DFS解法)
  8. JAVA实时运算_Java 实时运算簿页面
  9. Soft-Masked BERT 一种新的中文纠错模型
  10. 如何制作一款HTML5 RPG游戏引擎——第二篇,烟雨+飞雪效果
  11. php ajax 增删改查 分页,Jquery之Ajax_分页及增删改查
  12. 脚本都不写,不能算正式测试
  13. flash linux安装教程 pdf,Flash基础入门之linux 下安装adobe flash的关键
  14. 朗科32G TF卡的读写测试
  15. mysql全称量词_数据库基础lt;三)标准语言SQL-一团网
  16. nas918+支持的cpu_C2000浮点运算注意事项——CPU和CLA的差异及误差处理技巧
  17. 如何修改植物大战僵尸文档
  18. IKBC_DC-108 改装,加灯,加锂电池和充电
  19. PHP水果店管理系统,水果店管理系统设计是?水果店管理系统优势是?
  20. Softmax回归函数

热门文章

  1. [机器学习]-K近邻-最简单的入门实战例子
  2. 常见Linux命令(非文件操作)
  3. codeforces 816 E. Karen and Supermarket(树形dp)
  4. [CODEVS1911] 孤岛营救问题(分层图最短路)
  5. POSIX 线程详解
  6. Sleutel:密码治理器
  7. linux系统中清空文件内容的三种方法
  8. Linux安全配置规范
  9. 数学公式【(1+1+2+1+2+3+1+2+3+4。。。)⇒n*(n+1)*(n+2)/6】
  10. Excel中数据透视表的 使用 创建(ピポットテーブル)