Gur*_*Gur 8 python windows 64-bit
Vista64机器上的Python 2.4.3.
以下2个变量位于环境中:
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
Run Code Online (Sandbox Code Playgroud)
但是当我运行以下内容时
import os
print os.environ["ProgramFiles"]
print os.environ["ProgramFiles(x86)"]
Run Code Online (Sandbox Code Playgroud)
我明白了:
C:\Program Files (x86)
C:\Program Files (x86)
Run Code Online (Sandbox Code Playgroud)
任何想法如何才能获得"ProgramFiles"的正确值?
Mar*_*off 12
从维基百科页面:
的%ProgramFiles%
此变量指向Program Files目录,该目录存储Windows和其他所有已安装的程序.英语系统的默认设置是C:\ Program Files.在64位版本的Windows(XP,2003,Vista)中,还有%ProgramFiles(x86)%,默认为C:\ Program Files(x86)和%ProgramW6432%,默认为C:\ Program Files.%ProgramFiles%本身取决于请求环境变量的进程本身是32位还是64位(这是由Windows-on-Windows 64位重定向引起的).
所以要获得C:\ Program Files,你显然想要检查%ProgramW6432%
.
您正在使用32位版本的Python解释器.使用32位软件时,WOW64将创建一个具有自己的文件夹和替换的新环境.
您可以通过启动64位和32位版本的命令提示符来查看我正在谈论的内容:
64位cmd.exe:
C:\Documents and Settings\Administrator>set prog
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
Run Code Online (Sandbox Code Playgroud)
32位cmd.exe:
C:\WINDOWS\SysWOW64>set prog
ProgramFiles=C:\Program Files (x86)
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
Run Code Online (Sandbox Code Playgroud)
从上面的第二个摘录中可以看出,要获取64位程序文件,必须使用ProgramW6432
环境变量.
但是,另一种方法也可以解决将来可能出现的其他问题(特别是使用注册表设置!):只使用64位版本的Python - 即使我不知道在哪里下载64位版本的2.4.
小智 5
你能安装Python 2.5.4并再试一次吗?更新:我的意思是2.5.4的x64版本.AFAIK 2.4仅适用于Windows x86和IA64,而不适用于x64.
我在Win 7 x64上运行2.5.4 x64并且我没有得到相同的结果,但我不确定问题出在你的情况下是Python还是Vista.
Python 2.5.4 (r254:67916, Dec 23 2008, 15:19:34) [MSC v.1400 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> print os.environ["ProgramFiles"]
C:\Program Files
>>> print os.environ["ProgramFiles(x86)"]
C:\Program Files (x86)
>>>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
14464 次 |
最近记录: |