Python 2.7检查是否存在具有特定文件名

时间:2018-05-30 06:21:13

标签: python string python-2.7 filenames

我想检查一个文件夹中是否有一个文件,其名称中包含一个特定的字符串,如:

文件夹:

- hi.txt

- bye.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

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

谢谢!

3 个答案:

答案 0 :(得分:3)

您可以使用OS模块。

<强>实施例

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

答案 1 :(得分: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

答案 2 :(得分:0)

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

import os

您可以使用

在python中运行shell命令
os.system("your command")

例如

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

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