Python列表只包含我创建的变量

时间:2018-05-23 12:51:05

标签: python variables

我根据22 IPython命令运行了创建%whos变量的Python脚本。

我希望能够在Python(而不是IPython)脚本中列出我的变量。

到目前为止,我尝试了dir()vars().keys()locals().keys()globals().keys()

In [2]: len( [v for v in dir() if not v.startswith('_')] )
Out[2]: 1015

In [3]: len( [v for v in vars().keys() if not v.startswith('_')] )
Out[3]: 1015

In [4]: len( [v for v in locals().keys() if not v.startswith('_')] )
Out[4]: 1015

In [5]: len( [v for v in globals().keys() if not v.startswith('_')] )
Out[5]: 1015

我只想要我创建的MY变量,我该怎么做?

1 个答案:

答案 0 :(得分:4)

您可以在声明之前跟踪原始内容:

orig_keys = set(globals().keys())
a = 10
b = 100
c = 1000
my_keys = set(globals().keys()) - orig_keys
print(my_keys)

结果:

{'orig_keys', 'a', 'c', 'b'}

您可以查看live here