glob函数找不到带有通配符的文件

2024-06-30 08:01:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一段代码,在我的目录中显示文件,如下所示:

lstFiles = os.listdir(dir)   
nPathLen = len(dir)

for filename in lstFiles:
     print(filename)

这导致:

graph.png
test.jdx

然后我尝试使用通配符来限制结果,如下所示:

import glob  

dirlist = glob.glob(dir + "*.jdx")
print(dirlist)
for pathname in dirlist:
    filename = pathname[nPathLen:]
    print(filename)

我得到的输出结果是:

[]

我是不是遗漏了什么?是否存在glob无法工作的情况


Tags: 代码in目录forosdirfilenameglob
1条回答
网友
1楼 · 发布于 2024-06-30 08:01:00

虽然一个目录不需要一个尾随路径分隔符就可以在驱动器上找到它(例如os.listdir()),但是如果您想寻址该目录的内容,就需要使用分隔符。Python提供os.path.join以独立于平台的方式连接路径。这比在你自己身上加斜杠要好一点,因为如果已经有斜杠的话,它不会再加上两倍。有些操作系统关心这类事情

dirlist = glob.glob(os.path.join(dir, "*.jdx"))

相关问题 更多 >