Я хочу ввести подымя папки в терминал и иметь запуск сценария это в средстве поиска. Это - мой код:
import sys
import os
fullname='/home/ash/caffe/examples/imagenet/train_rest/'+str(sys.argv[1])
os.system(gnome-open fullname)
Однако кажется, что 'открытый для гнома' только принимает путь в традиционном/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]])
Также:
Никакая потребность использовать str(sys.argv[1]
, просто sys.argv[1]
.
Вероятно, никакая потребность сказать, но если Ваш аргумент (-каталог) включает имена с пробелами, использует кавычки, например.
python <script> '/path/with/name with spaces'