从 Python 启动 Finder

从 Python 启动 Finder

我希望在终端中输入一个子文件夹名称,并让脚本在 Finder 中启动它。这是我的代码:

import sys
import os

fullname='/home/ash/caffe/examples/imagenet/train_rest/'+str(sys.argv[1])

os.system(gnome-open fullname)

但是看起来“gnome-open”只接受传统 /path/to/file 格式的路径。有什么办法可以解决这个问题吗?提前致谢!

答案1

os.system()根本不应该使用。它是已弃用,真的,真的很老式,不鼓励再使用。

相反,使用subprocess.Popen()或者subprocess.call()

import sys
import subprocess

subprocess.Popen(["gnome-open", '/home/ash/caffe/examples/imagenet/train_rest/'+sys.argv[1]])
# or:
subprocess.call(['gnome-open', '/home/ash/caffe/examples/imagenet/train_rest/'+sys.argv[1]])

还:

无需使用str(sys.argv[1],只需sys.argv[1]

笔记

可能不需要说,但如果您的参数(-directory)包含带空格的名称,请使用引号,例如

python <script> '/path/with/name with spaces'

相关内容