0

我正在运行一个脚本,作为一项任务,我下载了一个文件(不是从 python:假设用户从浏览器下载了一个 txt 文件),并且用户可以在任何地方下载它。在下一步中,我想要一个脚本来找到该文件并为我提供加载文件的路径。我试图从 python 中模拟以下 osacript

cmd1 = "find ~ -type f -name \"sometextfile.txt\""
p = subprocess.Popen(cmd1.strip().split(" "), stdout = subprocess.PIPE)
output, err = p.communicate()
print output

但它说找不到“find:~”

有没有办法可以实现我的目标?

4

2 回答 2

0

您可以遍历所需的目录并检查是否遇到该文件:

import os

def find_file(root_path, searched_file):
    for root, dirs, filenames in os.walk(root_path):
        if searched_file in filenames:
            return os.path.join(root, searched_file)

output = find_file(os.environ['HOME'], 'sometextfile.txt')  # or whatever base directory
于 2015-10-09T10:38:30.417 回答
0

你可以glob这样使用:

import glob

file_ = glob.glob("sometextfile*")[0]
于 2015-10-09T10:33:23.267 回答