我有一个如下所示的目录:
> myDirectory
> L1.zip
> L2_abc.zip
如果文件存在,我想搜索目录以返回,但我只有zip文件名的第一部分(L1或L2)。我如何检查文件是否存在?
结果应该如下所示:
>>> file_exists("L1")
true
>>> file_exists("L2")
true
我目前只使用os.path.exists()
,但我不知道如何忽略文件名的_abc
部分。
答案 0 :(得分:2)
您可以使用listdir并进行自定义检查。这是一种仅在文件/目录以L2开头时才匹配的方式
matches = [f for f in os.listdir() if f.startswith("L2")]
print(matches)
答案 1 :(得分:1)
使用glob
,并检查结果输出是否为空应该可以解决问题:
from glob import glob
def file_exists(filename):
return bool(glob(filename + '.*'))
答案 2 :(得分:0)
您可以使用pathlib
:
from pathlib import Path
def file_exists(prefix):
return any(Path("myDirectory").glob(prefix + "*"))