我想使用python检查指定目录中是否存在mp3文件。如果它确实存在,我想将文件路径存储在一个变量中。
以下是一些代码,我必须检查是否存在任何文件。如何修改?
import os
dir = os.path.dirname(__file__) or '.'
dir_path = os.path.join(dir, '../folder/')
onlyfiles = [f for f in os.listdir(dir_path) if os.path.isfile(os.path.join(dir_path, f))]
只需将附加条件f[-4:]==".mp3"
添加到列表理解中的if
语句中,使其现在显示为:
onlyfiles = [f for f in os.listdir(dir_path) if os.path.isfile(os.path.join(dir_path, f)) and f[-4:]==".mp3"]
我个人更喜欢pathlib
模块,所以我将使用它发布答案。但请记住,这不是一种递归方法,所以它只会向下一级搜索您想要的.mp3
文件:
import pathlib as path
dirname = path.Path(input("Enter the path to the directory to search: ")).glob("*.mp3")
paths = []
for file in dirname:
paths.append(str(file))
我将路径存储在一个列表中,以防文件夹中有更多的.mp3
文件。
试试这个:
import os
dir = os.path.dirname("/path/to/your/dir/"); dir_path = dir;
onlyfiles = [f for f in os.listdir(dir_path) if os.path.isfile(os.path.join(dir_path, f)) and f[-4:]==".mp3"]