代码之家  ›  专栏  ›  技术社区  ›  SebMa

python只列出我创建的变量

  •  1
  • SebMa  · 技术社区  · 8 年前

    我已经运行了创建的python脚本 22 变量依据 %whos ipython命令。

    我希望能够在一个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
    

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

    1 回复  |  直到 8 年前
        1
  •  4
  •   Netwave    8 年前

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

    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