【问题标题】:Python 2.7 check if there is a file with a specific file namePython 2.7 检查是否存在具有特定文件名的文件
【发布时间】:2018-05-30 06:21:12
【问题描述】:

我想检查文件夹中是否有文件名包含特定字符串,例如:

文件夹:

-- hi.txt

--再见.txt

-- bedanagain.txt

-- dan1.txt

-- dan2.txt

--gray.txt

如果文件夹中有一个名称中包含“dan”的文件,则返回 true。

另外,如果可能的话,我需要使用最知名的导入(客户对使用未知的开源包感到紧张)和最少数量的导入。

我尝试使用 os.path.exists 但我发现它只有在您拥有完整文件名时才有效,并且无法搜索包含某些字符串的文件名。

我试过了:

import os
print os.path.exists('./dan') // false
print os.path.exists('./dan*') // false
print os.path.exists('./*dan') // false

这也是为什么这不是重复的原因 - 我检查了提到的提要,它处理的是“如果文件存在”而不是“如果存在名称中包含某些字符串的文件”

谢谢!

【问题讨论】:

  • 请遵循发布指南,即发布您的尝试以及它们有什么问题。
  • 另外,如果你所说的“最知名的导入”是指 python 标准库,那么你就有麻烦了:它都是开源的。
  • 您可以使用osglob 模块。

标签: python string python-2.7 filenames


【解决方案1】:

您可以使用OS 模块。

例如:

import os
for file in os.listdir(Path):
    if "dan" in file:
        print(file)

【讨论】:

    【解决方案2】:

    您可以使用os.listdir("dir path") 获取列表中目录中的所有文件并检查该列表中的文件名:

    import os
    def check_file():
        x = os.listdir("path to dir")
        for i in x:
            if ["hi","bye","bedanagain","dan1","dan2","gray"] in i:
                return True
    

    【讨论】:

      【解决方案3】:

      如果您使用的是 mac,请尝试查看“os”模块(它应该内置在您的计算机中),您可以使用以下命令导入它:

      import os
      

      您可以使用在 python 中运行 shell 命令

      os.system("your command")
      

      例如

      os.system("echo "This is terminal"")
      

      我确定有一个终端命令可以让您检查文件夹中的特定文件。

      【讨论】:

      • 这不能回答问题
      猜你喜欢
      • 2016-06-23
      • 1970-01-01
      • 1970-01-01
      • 2021-07-09
      • 2022-08-12
      • 2021-12-25
      • 2019-03-21
      • 1970-01-01
      • 2015-03-22
      相关资源
      最近更新 更多