我在用:
> Windows XP
> Python 2.6.2(从python.org标准安装)
> git版本1.6.5.1-preview20091022(从http://code.google.com/p/msysgit/开始安装)
我有一个环境变量看起来像一个绝对路径(/ path / to / dir),但我用它来构建一个git URL.在某些时候,它被转换为C:/ Program Files / Git / path / to / dir.似乎Python有问题:
在一个git bash shell中:
$export VAR=/path/to/dir
$echo $VAR
/path/to/dir
$python
>>> import os
>>> os.environ['VAR']
'C:/Program Files/Git/path/to/dir'
git bash没有翻译路径,但Python是?
在Windows命令提示符中,Python正确:
C:\>set VAR=/path/to/dir
C:\>echo %VAR%
/path/to/dir
C:\>python
>>> import os
>>> os.environ['VAR']
'/path/to/dir'
谁能解释一下这里发生了什么?如何防止bash shell中的翻译?
编辑:我应该补充一点,我的python脚本在OS X和Windows上运行,所以如果有人确实有一个解决方案,那么如果在两个平台上工作都会很好.
解决方法:
我的猜测是,这不是python的错,而是git bash shell.
当你查看变量时,也许git bash shell会对你撒谎.
或者,尝试不放置第一个/并在以后再次添加(如果没有发生翻译).
如果我尝试使用cygwin,它可以工作:
$export test="/bin"
$python
>>> import os
>>> os.environ["test"]
'/bin'