在Ubuntu 22.10上使用Python3.10运行Ipython3
a=Os.environ.keys()
b=Os.environ.items()
I expectalist环境变量键/名称的例如:
['SHELL','SESSION_MANAGER',......]
但是我得到了:
KeysView(environ({'SHELL': '/bin/bash', 'SESSION_MANAGER': 'local....}))
和希望返回键值对元组,我得到了这个:
ItemsView(environ({'SHELL': '/bin/bash', 'SESSION_MANAGER': 'local
对我来说似乎是包裹在其他东西里的相同数据。从技术上讲,这两者没有什么问题,但在我看来,它违背了目的如果你给别人一张10美元的钞票来买一条面包,但他们只是把这张美元钞票包在一个标有面包的信封里
这里我不知道的是什么?
您观察到的行为不仅限于os.environ
,而且适用于dict
s。你有一个视图,它观察到dict
的变化,考虑以下简单的例子
d = {"x":10,"y":100}
d_keys = d.keys()
d_list = list(d.keys())
d.update({"z":1000})
print(d_keys) # dict_keys(['x', 'y', 'z'])
print(d_list) # ['x', 'y']