Python列表只包含我创建的变量(Python List ONLY the variables I have created)

编程入门 行业动态 更新时间:2024-10-28 09:18:29
Python列表只包含我创建的变量(Python List ONLY the variables I have created)

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

我希望能够在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变量,我该怎么做?

I have run my Python script that created 22 variables according to %whos IPython command.

I want to be able to list MY variables from within a Python (not IPython) script.

So far, I tried dir(), vars().keys(), locals().keys() and 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

I ONLY want MY variables that I created, how can I do that ?

最满意答案

在声明之前,您可以跟踪原始的:

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'}

你可以在这里查看

You can keep track of the original ones before declaring:

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

Results in:

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

You can check it live here

更多推荐

本文发布于:2023-08-02 12:32:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1375395.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:变量   列表   Python   created   variables

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!