(Python2.7-3.2 на WindowsXP) Я использовал sys.arg [0], но теперь я выполняю его из пакета script (для определения, есть ли у пользователя python)
Спасибо ^^
~ ps: Предложите, если вы знаете лучший способ узнать, есть ли у пользователя Python
Возможно, вы ищете
os.path.dirname(__file__)
Вы можете прочитать переменную __file__
, чтобы узнать путь к текущему интерпретируемому файлу Python.
__file__
, а не __FILE__
.
Чтобы добавить к этому, хотя он уже ответил, вот что я получил с этого сайта (не помню источник)
import os, sys
print "CWD: ", os.getcwd()
print "Script: ", sys.argv[0]
print ".EXE: ", os.path.dirname(sys.executable)
print "Script dir: ", os.path.realpath(os.path.dirname(sys.argv[0]))
pathname, scriptname = os.path.split(sys.argv[0])
print "Relative script dir: ", pathname
print "Script dir: ", os.path.abspath(pathname)
print 'Current file: ', os.path.dirname(__file__)
print os.path.dirname(__file__) + '/IDLESTARTUP.txt'
вы можете взглянуть на это сообщение, которое проверяет реестр
командный файл, чтобы проверить, установлен ли Python
кажется простым:
reg query "hkcu\software\Python 2.6"
Альтернативой является проверка% PATH%. Я не уверен, как это сделать, так как у меня нет установленных окон для тестирования:)
Попробуйте узнать больше о "reg query" и о том, как искать% PATH% для исполняемых файлов!
Удачи!
os.path.normpath(os.path.abspath(os.path.dirname(__file__)))