通过IDLE运行Python脚本并双击脚本时,sys模块提供不同的输出

时间:2013-07-17 17:25:49

标签: python python-2.7 undefined-behavior

我试图获取Python目录以执行某些脚本。我发现了一个奇怪的行为。

这只是用于指出具体问题的示例代码。我将此路径放入变量中以供进一步使用。

我将此代码放在脚本中

import sys
print sys.executable[: - len('pythonw.exe')]
raw_input()

当我通过IDLE

运行时,输出就是这个
C:\Python27\

当我通过双击脚本

运行它时,输出就是这个
C:\Python27

我不明白这里发生了什么。为什么不同的格式?它应该是一致的还是我错过了什么?

1 个答案:

答案 0 :(得分:1)

print os.path.dirname(sys.executable)

是你应该使用的。

单击它时,它可能正在运行python.exe,因此您要从w中删除额外的char。