Python 3.x 我想用python脚本从python文件中提取所有变量名,而无需编辑python文件
我正在制作一个文本编辑器,在其中我可以制作一个变量浏览器。所以我想做的是,通过使用python脚本,即文本编辑器,我想从文本编辑器正在编辑的代码中获取所有变量名 如果不清楚,那么再次>我制作了一个文本编辑器,如果用户正在使用我的编辑器编辑任何python文件,那么有一个函数将从用户正在编辑的文件中提取所有变量 如果可能,获取变量的所有值 提前谢谢 我尝试使用vars(),但它不适用于字符串,因为我只能使用 get('1.0','end') 但我认为这不是我写的。 我还尝试在编辑文件(用户编辑的文件)中嵌入vars() 但是我没有得到任何好的结果,或者你可以说没有结果 我不知道如何使用“dir”,或者如何在这个脚本中使用它来获取变量名 因此,我的预期结果是,当用户按下按钮时,函数启动,并从用户当前正在编辑的python文件中获取所有变量及其值。 就像一个示例脚本Python 3.x 我想用python脚本从python文件中提取所有变量名,而无需编辑python文件,python-3.x,variables,Python 3.x,Variables,我正在制作一个文本编辑器,在其中我可以制作一个变量浏览器。所以我想做的是,通过使用python脚本,即文本编辑器,我想从文本编辑器正在编辑的代码中获取所有变量名 如果不清楚,那么再次>我制作了一个文本编辑器,如果用户正在使用我的编辑器编辑任何python文件,那么有一个函数将从用户正在编辑的文件中提取所有变量 如果可能,获取变量的所有值 提前谢谢 我尝试使用vars(),但它不适用于字符串,因为我只能使用 get('1.0','end') 但我认为这不是我写的。 我还尝试在编辑文件(用户编辑的文
class example():
def example_define():
a=1
b=2
c=3
函数返回如下
{'a':1, 'b':2, 'c':3}
dir和_dict__
可以根据类型了解对象内部的所有属性。例如
让我们考虑这个代码<代码>代码.p/<代码> < /p>
class example():
def example_define(self):
a=1
b=2
c=3
d = 1
def hello():
print("world")
在另一个文件debug.py
上,您可以尝试此操作
import code
print(code.__dict__) # prints a dictionary of all the attributes and their values.
print(dir(code)) # prints a list of all the attributes.
另外,如果您有一个对象o
,您可以调用dir(o)
来了解该对象的属性。如果它支持,您可以尝试o.\uu dict\uu
范围可用性
class Example():
def example_define(self):
self.a = 1
self.b = 2
self.c = 3
o = Example()
print(dir(o)) # Doesn't give a, b, c
o.example_define()
print(dir(o)) # Gives a, b, c
我只得到文件中函数的变量。是否有任何方法可以获取脚本中使用的所有变量,包括整数、字符串、列表、字典、函数。我认为可用性取决于范围和声明。在上面的示例类中,如果我们可以将变量更改为
self.a=1
等,我们可以通过简单地创建类的对象并在其上调用example\u define
和对象的dir
来获得这些变量。由于我无法理解,您能给出一个例子吗?