1

(WindowsXP 上的 Python2.7-3.2)我以前使用 sys.arg[0],但现在我从批处理脚本执行它(用于确定用户是否有 python)

谢谢^^

~ps: 建议你是否知道更好的方法来确定用户是否有 Python

4

5 回答 5

7

也许你正在寻找

os.path.dirname(__file__)
于 2011-04-02T20:06:50.763 回答
1

您可以读取变量__file__以找出当前正在解释的 Python 文件的路径。

于 2011-04-02T20:07:10.047 回答
0

你可以看看这个检查注册表的帖子

批处理文件以检查是否安装了 Python

似乎很容易:

注册查询“hkcu\software\Python 2.6”

另一种方法是检查 %PATH%。我不确定该怎么做,因为周围没有安装的窗户来测试它:)

尝试了解有关“reg 查询”以及如何在 %PATH% 中搜索可执行文件的更多信息!

祝你好运!!

于 2011-04-02T20:49:09.963 回答
0
os.path.normpath(os.path.abspath(os.path.dirname(__file__)))
于 2011-04-02T20:16:42.567 回答
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'
于 2011-04-02T22:52:36.690 回答