【问题标题】:Using implicit path name argument in glob在 glob 中使用隐式路径名参数
【发布时间】:2018-09-10 21:07:16
【问题描述】:

我正在使用glob.glob() 读取目录中的所有 png 文件。这就是我现在使用的

for filename in glob.glob('D:\test_files\**\*.png',recursive=True):
    ...

图像文件保存在test_files 的子文件夹中。该代码将在另外数千行代码中被其他人使用。因此,目录应该在代码中的其他地方定义为字符串。我还想通过使用另一个 for 循环来更改 *.png。所以,我需要类似的东西

for filename in glob.glob('imagepath'+'extension',recursive=True):
    ...

其中 imagepath 在代码中的其他位置定义,扩展名保存在列表中。可以这样使用glob.glob()方法吗?

【问题讨论】:

  • 旁注:我非常怀疑您的原始代码是否可以正常工作。您的路径中有一个\t,并且您没有使用原始字符串文字,因此该字符串实际上是'D:<TAB>est_files\**\*.png'始终对 Windows 路径和正则表达式使用原始字符串文字。

标签: python-3.x glob


【解决方案1】:

答案是here。我定义了path = 'D:\test_files\**' 之类的路径,并将扩展名保留在imgExtentions =['\*.jpg', '\*.png'] 之类的列表中。然后我简单地使用 glob:

for extension in imgExtentions:
        for filename in glob.glob(path+extension,recursive=True):

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-02
    相关资源
    最近更新 更多