python 查找特定文件的全局变量而不导入它
python find global variables of specific file without importing it
我正在制作一个模块文件,我需要获取正在使用它的文件的全局变量。
我试过导入它,然后获取它的全局变量,但这让我得到了这个错误:
Traceback (most recent call last):
File "C:\Users\isaac\OneDrive\Coding\python\logger\file.py", line 1, in <module>
import logger
File "C:\Users\isaac\OneDrive\Coding\python\logger\logger.py", line 3, in <module>
import file as bla
File "C:\Users\isaac\OneDrive\Coding\python\logger\file.py", line 3, in <module>
log = logger.Logger('logfile', 'file')
AttributeError: partially initialized module 'logger' has no attribute 'Logger' (most likely due to a circular import)
有没有办法用 open(...)
或类似的方法获取全局变量?
有两种解决方法。一种是从 file
中取出全局变量并将它们移动到第三个文件,比如 globals.py
,这两个文件都可以导入。
关于通过打开文件访问全局变量,你可以尝试自己解析文件,或者确实使用AST之类的东西。我认为上述技术足以满足您的用例。
我正在制作一个模块文件,我需要获取正在使用它的文件的全局变量。 我试过导入它,然后获取它的全局变量,但这让我得到了这个错误:
Traceback (most recent call last):
File "C:\Users\isaac\OneDrive\Coding\python\logger\file.py", line 1, in <module>
import logger
File "C:\Users\isaac\OneDrive\Coding\python\logger\logger.py", line 3, in <module>
import file as bla
File "C:\Users\isaac\OneDrive\Coding\python\logger\file.py", line 3, in <module>
log = logger.Logger('logfile', 'file')
AttributeError: partially initialized module 'logger' has no attribute 'Logger' (most likely due to a circular import)
有没有办法用 open(...)
或类似的方法获取全局变量?
有两种解决方法。一种是从 file
中取出全局变量并将它们移动到第三个文件,比如 globals.py
,这两个文件都可以导入。
关于通过打开文件访问全局变量,你可以尝试自己解析文件,或者确实使用AST之类的东西。我认为上述技术足以满足您的用例。