Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 我想用python脚本从python文件中提取所有变量名,而无需编辑python文件_Python 3.x_Variables - Fatal编程技术网

Python 3.x 我想用python脚本从python文件中提取所有变量名,而无需编辑python文件

Python 3.x 我想用python脚本从python文件中提取所有变量名,而无需编辑python文件,python-3.x,variables,Python 3.x,Variables,我正在制作一个文本编辑器,在其中我可以制作一个变量浏览器。所以我想做的是,通过使用python脚本,即文本编辑器,我想从文本编辑器正在编辑的代码中获取所有变量名 如果不清楚,那么再次>我制作了一个文本编辑器,如果用户正在使用我的编辑器编辑任何python文件,那么有一个函数将从用户正在编辑的文件中提取所有变量 如果可能,获取变量的所有值 提前谢谢 我尝试使用vars(),但它不适用于字符串,因为我只能使用 get('1.0','end') 但我认为这不是我写的。 我还尝试在编辑文件(用户编辑的文

我正在制作一个文本编辑器,在其中我可以制作一个变量浏览器。所以我想做的是,通过使用python脚本,即文本编辑器,我想从文本编辑器正在编辑的代码中获取所有变量名

如果不清楚,那么再次>我制作了一个文本编辑器,如果用户正在使用我的编辑器编辑任何python文件,那么有一个函数将从用户正在编辑的文件中提取所有变量

如果可能,获取变量的所有值

提前谢谢

我尝试使用vars(),但它不适用于字符串,因为我只能使用 get('1.0','end') 但我认为这不是我写的。 我还尝试在编辑文件(用户编辑的文件)中嵌入vars() 但是我没有得到任何好的结果,或者你可以说没有结果

我不知道如何使用“dir”,或者如何在这个脚本中使用它来获取变量名

因此,我的预期结果是,当用户按下按钮时,函数启动,并从用户当前正在编辑的python文件中获取所有变量及其值。 就像一个示例脚本

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
来获得这些变量。由于我无法理解,您能给出一个例子吗?