我是新手python,刚刚安装Eric6 我想要搜索一个文件夹(和所有子目录)来打印任何扩展名为.pdf I 的文件的文件名作为我的语法,但它错误说
调试程序引发异常未处理的FileNotFoundError
"[WinError 3]系统找不到指定的路径'C:'"
文件:C:\ Users\pcuser\EricDocs\Test.py,Line:6
这是我想要执行的语法:
import os
results = []
testdir = "C:\Test"
for folder in testdir:
for f in os.listdir(folder):
if f.endswith('.pdf'):
results.append(f)
print (results)
Run Code Online (Sandbox Code Playgroud)
Inb*_*ose 12
使用该glob模块.
glob模块查找与指定模式匹配的所有路径名
import glob, os
parent_dir = 'path/to/dir'
for pdf_file in glob.glob(os.path.join(parent_dir, '*.pdf')):
print (pdf_file)
Run Code Online (Sandbox Code Playgroud)
这适用于Windows和*nix平台.
只需确保您的路径在Windows上完全转义,对使用原始字符串很有用.
在你的情况下,那将是:
import glob, os
parent_dir = r"C:\Test"
for pdf_file in glob.glob(os.path.join(parent_dir, '*.pdf')):
print (pdf_file)
Run Code Online (Sandbox Code Playgroud)
对于文件名列表(不是完整路径,根据您的评论),您可以执行以下操作:
results = [os.path.basename(f) for f in glob.glob(os.path.join(parent_dir, '*.pdf')]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22342 次 |
| 最近记录: |