我想创建一个帮助函数来读取文件并模拟出单元测试的所有导入。我不得不读取文件与导入,因为我没有这些东西在python路径。Python简单的方法来读取py模块中的所有导入语句
示例代码:
#module.py
import com.stackoverflow.question
from com.stackoverflow.util import test_func
from com.stackoverflow.util import TestClass
#magic helper: what i want
magic = process('<path_to>/module.py')
for module in magic.modules_as_strings():
#todo would have to recuirsively add each path
# so i would first create com, then com.stackoverflow, etc
setattr(self, module, StubModules(module)
for obj in magic.sink:
#these would be "from" from x import Y
#its basically just creating self.Y = object
setattr(self, object)
以上是模拟代码,我真的找最好的办法只有记号化的 “从/ import语句”
文件这有道理吗?我知道我可以逐行读取文件,但我希望能够采用更简洁,更简洁的方式。
让我知道如果您有任何问题。
您可以加入一个例子输出魔法调用(数据结构)? – GaretJax
对不起,我错过了这一点,但我只是期待字符串完全限定的模块,所以像a.b.c.module_name。我正要标记它.. – Nix
我希望我的解决方案也能工作。你总是可以去掉不必要的部分。 – GaretJax