在Windows上自动创建HOME environ变量? [英] Automatically creating a HOME environ variable on Windows?
问题描述
Windows没有HOME环境变量,但确实有
HOMEDRIVE和HOMEPATH。可以自动使用Windows版本的Python
使用HOME填充os.environ,其中HOME =
os.path.join(os.environ [''HOMEDRIVE''],os .environ [''HOMEPATH''])?
如果这样做了,那么从home加载资源文件
的pdb之类的模块会在Windows下工作。
或者,这是一个补丁,使pdb.py读取.pdbrc
Windows。
*** pdb_orig.py 2003年6月16日星期一01:26:30
--- pdb.py星期六10月29日11:11:07 2005
* **************
*** 65,72 ****
--- 65,76 ----
#阅读$ HOME / .pdbrc和./.pdbrc
self.rcLines = []
+ envHome =' '''
如果os.environ中的''HOME'':
os.environ中的+ elif''HOMEDRIVE''和os.environ中的'HOMEPATH'':
+ envHome = os.path.join(os.env)铁[''HOMEDRIVE''],
os.environ [''HOMEPATH''])
+如果envHome:
尝试:
rcFile = open(os.path.join(envHome," .pdbrc"))
除了IOError:
Windows doesn''t have a HOME environment variable, but it does have
HOMEDRIVE and HOMEPATH. Could Windows versions of Python automatically
populate os.environ with HOME, where HOME =
os.path.join(os.environ[''HOMEDRIVE''], os.environ[''HOMEPATH''])?
If this was done, then modules such as pdb, which load resource files
from HOME, would work under Windows.
Alternatively, here is a patch to make pdb.py read .pdbrc under
Windows.
*** pdb_orig.py Mon Jun 16 01:26:30 2003
--- pdb.py Sat Oct 29 11:11:07 2005
***************
*** 65,72 ****
--- 65,76 ----
# Read $HOME/.pdbrc and ./.pdbrc
self.rcLines = []
+ envHome = ''''
if ''HOME'' in os.environ:
envHome = os.environ[''HOME'']
+ elif ''HOMEDRIVE'' in os.environ and ''HOMEPATH'' in os.environ:
+ envHome = os.path.join(os.environ[''HOMEDRIVE''],
os.environ[''HOMEPATH''])
+ if envHome:
try:
rcFile = open(os.path.join(envHome, ".pdbrc"))
except IOError:
推荐答案
HOME / .pdbrc和./.pdbrc
self.rcLines = []
+ envHome =''' '
如果os.environ中的''HOME'':
+ elif os.environ中的'HOMEDRIVE''和os.environ中的'HOMEPATH'':
+ envHome = os.path.join(os.environ [''HOMEDRIVE''],
os.environ [''HOMEPATH''])
+如果envHome:
试试:
rcFile = open (os.path.join(envHome," .pdbrc"))
除了IOError之外的
:
HOME/.pdbrc and ./.pdbrc
self.rcLines = []
+ envHome = ''''
if ''HOME'' in os.environ:
envHome = os.environ[''HOME'']
+ elif ''HOMEDRIVE'' in os.environ and ''HOMEPATH'' in os.environ:
+ envHome = os.path.join(os.environ[''HOMEDRIVE''],
os.environ[''HOMEPATH''])
+ if envHome:
try:
rcFile = open(os.path.join(envHome, ".pdbrc"))
except IOError:
ji *********** @ gmail.com napisa3(a):
ji***********@gmail.com napisa3(a):
Windows没有HOME环境变量,但确实有HOMEDRIVE和HOMEPATH。 Windows版本的Python可以自动使用HOME填充os.environ,其中HOME =
os.path.join(os.environ [''HOMEDRIVE''],os.environ [''HOMEPATH'' ])?
Windows doesn''t have a HOME environment variable, but it does have
HOMEDRIVE and HOMEPATH. Could Windows versions of Python automatically
populate os.environ with HOME, where HOME =
os.path.join(os.environ[''HOMEDRIVE''], os.environ[''HOMEPATH''])?
MS建议使用%USERPROFILE%,因为在很多情况下返回
" C:\",这是错的。
-
Jarek Zgoda
http://jpa.berlios.de/
很酷,甚至更好。那么什么是最好的,有代码将HOME
(= USERPROFILE)添加到os.environ,或者更改用于检查USERPROFILE的HOME的各种地方
?
Cool, even better. So what''s best, having code to add HOME
(=USERPROFILE) to os.environ, or change the various places that HOME is
used to check for USERPROFILE?
这篇关于在Windows上自动创建HOME environ变量?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!