Python 全局搜索中间的特定文件名

Python Glob search for specific filenames at the middle

我有一个文件夹,路径为

/home/alperen/Desktop/test

和文件:

000001asdd.png
000005_C.png
000010-asda.png
000002gfg.png 000006fkjfkj.png
.. etc

这是我的代码部分,用于检查此目录中的特定文件

for name in glob.glob("/home/alperen/Desktop/test/*001*.*"):
    print (name)

它给出了正确的输出:

/home/alperen/Desktop/test/000012-asda.png
/home/alperen/Desktop/test/000001asdd.png
/home/alperen/Desktop/test/000010-asda.png
/home/alperen/Desktop/test/A000011-adsa.png

但是,当我尝试使用以下内容时,它不起作用:

print(read_dir)        
for name in glob.glob(read_dir + "/*001*.*"):
    print (name)

它只打印 read_dir 本身,没有其他内容。

home/alperen/Desktop/test

有人能帮我看看这是怎么回事吗?谢谢。

尝试:

for name in glob.glob("/" + read_dir + "/*001*.*"):
    print(name)

为什么:

read_dir 缺少前导 /,从输出中可以看出:

home/alperen/Desktop/test

在第一种情况下,当您给出完整路径时,它有一个前导斜线 /,如下所示:

for name in glob.glob("/home/alperen/Desktop/test/*001*.*"):