有没有办法告诉你的python文件在哪里?
(上WindowsXP的Python2.7-3.2) 我曾经使用sys.arg [0],但我现在从批处理脚本执行它(用于确定用户是否具有蟒)有没有办法告诉你的python文件在哪里?
感谢^^
〜PS:建议如果你知道一个更好的方法来找出用户是否有Python的
可以读取变量__file__
找出路径当前的Python fi被解释。
它是'__file__',而不是'__FILE__'。 – 2011-04-02 20:25:45
你是对的,我偶然混淆了C++的。 :) – Amber 2011-04-02 23:35:57
os.path.normpath(os.path.abspath(os.path.dirname(__file__)))
,你可以看看这个帖子,检查注册表
batch file to check if Python is installed
似乎容易,因为:
REG查询 “HKCU \ SOFTWARE \的Python 2.6”
另一种方法是检查%PATH%。我不知道如何做到这一点,因为没有安装的窗口来测试它:)
尝试了解更多关于“reg query”以及如何搜索%PATH%的可执行文件!
祝你好运!
这不回答被问到的问题。 – 2011-04-02 21:26:58
不,但它回答了我问到的PS问题,Bryan。谢谢你,奥比。但是你知道如何为python3做?它似乎列表中的Python2 reg注册查询“hkcu \软件” – Property404 2011-04-02 21:38:10
为了增加这一点,尽管它已经回答了,这里是我从该网站得到了(不记得源)
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脚本,那么显然用户有Python! – 2011-04-02 22:56:08