Python: 在资源管理器/Nautilus/Finder中打开文件夹
我在用Python编程,我有一个文件夹的路径。我想用系统默认的文件夹浏览器打开这个文件夹。比如,如果是在Windows电脑上,我想用资源管理器;如果是在Linux上,我想用Nautilus或者其他默认的浏览器;如果是在Mac上,我想用Finder。
我该怎么做呢?
6 个回答
16
下面的内容适用于Mac电脑。
import webbrowser
webbrowser.open('file:///Users/test/test_folder')
在GNU/Linux系统上,使用文件夹的绝对路径。(确保这个文件夹是存在的)
import webbrowser
webbrowser.open('/home/test/test_folder')
正如其他回答中提到的,这在Windows系统上也可以使用。
22
你可以使用 subprocess
这个模块。
import subprocess
import sys
if sys.platform == 'darwin':
def openFolder(path):
subprocess.check_call(['open', '--', path])
elif sys.platform == 'linux2':
def openFolder(path):
subprocess.check_call(['xdg-open', '--', path])
elif sys.platform == 'win32':
def openFolder(path):
subprocess.check_call(['explorer', path])
55
我很惊讶没有人提到可以使用 xdg-open
这个命令,它适用于 *nix 系统,可以打开文件和文件夹:
import os
import platform
import subprocess
def open_file(path):
if platform.system() == "Windows":
os.startfile(path)
elif platform.system() == "Darwin":
subprocess.Popen(["open", path])
else:
subprocess.Popen(["xdg-open", path])