如何打开当前工作目录(OS X/Linux/Win)

Nov*_*ice 0 python python-3.x

有没有办法在python中打开当前的工作目录?

current_wkd = os.getcwd()
print(current_wkd) 
.../User/Bob/folder 
Run Code Online (Sandbox Code Playgroud)

说在我的程序结束时,我想打开当前的工作目录.我知道如何打开特定文件,但是我对程序完成后打开的"/ User/Bob /文件夹"感兴趣.如何在脚本末尾打开"文件夹"?

在OSX/Linux/Win中执行此操作的最佳方法是什么.

谢谢.

例如,

在终端中可以使用:

pwd  # get current wkd
../User/Bob/folder  
cd /User/Bob/folder  # change directory to /User/Bob/folder
open folder # To open the directory named "folder"
Run Code Online (Sandbox Code Playgroud)

这可能是python脚本的一部分.最后,对于要打开的目录,如上面的"打开文件夹"命令在终端中.我知道如何找到当前的wkd并使用以下方法更改它:

os.getcwd()
os.chdir()
Run Code Online (Sandbox Code Playgroud)

你如何打开当前目录?换句话说,在我的脚本结束时,我希望打开目录/文件夹.与使用以下方式打开Web浏览器时类似:

webbrowser.open_new()
Run Code Online (Sandbox Code Playgroud)

谢谢e9T(下面)的指导!

答案:最后我最终使用它作为我脚本的一部分:

import subprocess 

current_directory = os.getcwd()

subprocess.check_call(['open', '--', current_directory]) # This is for OS X 
Run Code Online (Sandbox Code Playgroud)

e9t*_*e9t 7

您可以使用subprocess为给定路径打开文件资源管理器.

import subprocess
import sys

def open_folder(path):
    if sys.platform == 'darwin':
        subprocess.check_call(['open', '--', path])
    elif sys.platform == 'linux2':
        subprocess.check_call(['gnome-open', '--', path])
    elif sys.platform == 'win32':
        subprocess.check_call(['explorer', path])

open_folder(path=".")  # open current directory
Run Code Online (Sandbox Code Playgroud)