【发布时间】:2015-09-12 12:25:55
【问题描述】:
尝试使用以下命令查看PYTHONHASHSEED 的值:
# (this is inside module_1.py)
os.environ['PYTHONHASHSEED']
引发 KeyError:
Traceback (most recent call last):
File "/home/black/Dev/Projects/module_1.py", line 2, in <module>
os.environ['PYTHONHASHSEED']
File "/usr/lib/python3.4/os.py", line 631, in __getitem__
raise KeyError(key) from None
KeyError: 'PYTHONHASHSEED'
打印os.environ的内容
for i in sorted(os.environ):
print(i)
# prints:
# CLUTTER_IM_MODULE
# COMPIZ_BIN_PATH
# ...
# etc.
显示PYTHONHASHSEED 不在内部,但我很确定它应该具有自on Python 3.3 and greater, hash randomization is turned on by default 以来的值。
问题:
为什么我不能以这种方式访问它的值,如何通过module_1.py 访问它?
【问题讨论】:
-
您在 Bash shell 中从
printenv PYTHONHASHSEED和echo "$PYTHONHASHSEED"得到什么输出? -
@PM2Ring 我以前从未使用过我的 Bash shell。我假设我只是将它们粘贴到 PyCharm 的终端中。如果是这样,他们什么都不做(
echo只是创建一个空行)。 -
@PM2Ring 使用 "ctr+alt+T" 启动 Ubuntu 终端,我仍然得到相同的两个命令。分别没有结果和空行。
-
我从您的聊天帖子中看到您想要运行具有各种 PYTHONHASHSEED 值的 Python 脚本。我将发布一些代码,展示一种简单的方法。
标签: python environment-variables python-3.4