Ash*_*Ash 2 python python-2.7 14.04
我希望在终端中输入一个子文件夹名称,并让脚本在 finder 中启动它。这是我的代码:
import sys
import os
fullname='/home/ash/caffe/examples/imagenet/train_rest/'+str(sys.argv[1])
os.system(gnome-open fullname)
Run Code Online (Sandbox Code Playgroud)
然而,'gnome-open' 似乎只接受传统 /path/to/file 格式的路径。有没有办法解决这个问题?提前致谢!
你根本不应该使用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]])
Run Code Online (Sandbox Code Playgroud)
还:
没必要用str(sys.argv[1]
,就用sys.argv[1]
。
可能不需要说,但是如果您的参数(-directory)包含带空格的名称,请使用引号,例如
python <script> '/path/with/name with spaces'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
403 次 |
最近记录: |