查找 pdf 查看器的路径
Finding the path to a pdf-viewer
我只得到了一些pdf-viewer
的名字。
1) 我想检查 pdf-viewer
是否存在。
2) 如果这个 pdf-viewer 存在,我想找到它的路径。
我不知道该如何处理。
如果你在Linux,你可以使用终端命令。如果 PDF 查看器有命令行工具,您可以像这样简单地做一些事情:
import subprocess
check = subprocess.check_output(['which', 'ls'])
print check
否则,您可以 运行 OS 独立遍历和搜索文件名,如下所示:
import os
matches = []
for root, dirs, files in os.walk(os.path.join('path', 'to', 'search'):
for file in files:
if 'pdf-viewer' in file.lower():
filepath = os.path.join(root, file)
matches.append(filepath)
print matches
这将遍历 Mac/Linux 或 \path\to\search 上从“/path/to/search”开始的所有目录。它将在每个目录中搜索所有文件名以进行匹配,在此示例中忽略大小写。如果找到匹配项,它将重新创建当前目录和匹配文件名的绝对路径,并将其附加到您的匹配列表中。然后你可以用匹配列表做你想做的事。
有很多关于如何使用 os.Walk() 函数的信息,但是如果您使用的是 Python 2.7,我建议安装 ScanDir,它要快得多([=24 的默认设置) =] 3).
我只得到了一些pdf-viewer
的名字。
1) 我想检查 pdf-viewer
是否存在。
2) 如果这个 pdf-viewer 存在,我想找到它的路径。
我不知道该如何处理。
如果你在Linux,你可以使用终端命令。如果 PDF 查看器有命令行工具,您可以像这样简单地做一些事情:
import subprocess
check = subprocess.check_output(['which', 'ls'])
print check
否则,您可以 运行 OS 独立遍历和搜索文件名,如下所示:
import os
matches = []
for root, dirs, files in os.walk(os.path.join('path', 'to', 'search'):
for file in files:
if 'pdf-viewer' in file.lower():
filepath = os.path.join(root, file)
matches.append(filepath)
print matches
这将遍历 Mac/Linux 或 \path\to\search 上从“/path/to/search”开始的所有目录。它将在每个目录中搜索所有文件名以进行匹配,在此示例中忽略大小写。如果找到匹配项,它将重新创建当前目录和匹配文件名的绝对路径,并将其附加到您的匹配列表中。然后你可以用匹配列表做你想做的事。
有很多关于如何使用 os.Walk() 函数的信息,但是如果您使用的是 Python 2.7,我建议安装 ScanDir,它要快得多([=24 的默认设置) =] 3).