(WindowsXP上的Python2.7-3.2) 我以前使用sys.arg [0],但现在我从批处理脚本执行它(用于确定用户是否有python)
谢谢^^
~ps:建议您是否了解更好的方法来确定用户是否具有Python
答案 0 :(得分:7)
也许您正在寻找
os.path.dirname(__file__)
答案 1 :(得分:1)
您可以读取变量__file__
以找出当前正在解释的Python文件的路径。
答案 2 :(得分:0)
os.path.normpath(os.path.abspath(os.path.dirname(__file__)))
答案 3 :(得分:0)
您可以查看一下检查注册表的帖子
batch file to check if Python is installed
似乎很简单:
reg查询“hkcu \ software \ Python 2.6”
另一种方法是检查%PATH%。我不确定该怎么做,因为没有安装窗户来测试它:)
尝试详细了解“reg query”以及如何搜索%PATH%的可执行文件!
祝你好运!!答案 4 :(得分:0)
除此之外,虽然已经回答了,但这是我从这个网站得到的东西(不记得来源)
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'