Ram*_*hum 34 python directory cross-platform
我是Python,我有一个特定文件夹的路径.我想使用该系统的默认文件夹资源管理器打开它.例如,如果它是Windows计算机,我想使用资源管理器,如果它是Linux,我想使用Nautilus或其他默认设置,如果它是Mac,我想使用任何Mac OS的浏览器.
我怎样才能做到这一点?
Cas*_*Cas 34
我很惊讶没有人提到使用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])
Run Code Online (Sandbox Code Playgroud)
Die*_*Epp 17
你可以用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])
Run Code Online (Sandbox Code Playgroud)
小智 8
以下适用于Macintosh.
import webbrowser
webbrowser.open('file:///Users/test/test_folder')
Run Code Online (Sandbox Code Playgroud)
在GNU/Linux上,使用文件夹的绝对路径.(确保文件夹存在)
import webbrowser
webbrowser.open('/home/test/test_folder')
Run Code Online (Sandbox Code Playgroud)
正如在另一个答案中指出的那样,它也适用于Windows.
我认为您可能需要检测操作系统,然后相应地启动相关的文件资源管理器。
这对于 OSX 的 Finder 很有用:Python“show in finder”
(不幸的是,下面的内容仅适用于 Windows)
import webbrowser as wb
wb.open('C:/path/to/folder')
Run Code Online (Sandbox Code Playgroud)
这适用于 Windows。我认为它可以跨其他平台工作。有人能证实吗?仅确认窗口:(