【问题标题】:Python Glob search for specific filenames at the middlePython Glob 在中间搜索特定文件名
【发布时间】:2019-07-08 12:22:59
【问题描述】:

我有一个带有路径的文件夹

/home/alperen/桌面/测试

还有文件:

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

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

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

有人可以帮我看看发生了什么吗?谢谢。

【问题讨论】:

  • read_dir 缺少斜线,应为 /home/alperen/Desktop/test
  • read_dir 定义在哪里?

标签: python filenames glob


【解决方案1】:

试试:

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*.*"):

【讨论】:

  • 谢谢大家。我一开始就错过了斜线:)
  • @S.Alperen 太好了,您可以通过单击勾号来标记答案。欢呼
猜你喜欢
  • 2020-02-08
  • 2016-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多