我有一个像这样的字符串:
str = "pwd.getpwuid(1000)"
现在,如果我尝试 eval() 它可能会引发异常,因为我还没有导入 pwd (或者如果我有的话可能不会)。
所以我决定编写一个解析器:将字符串拆分为“。” 并获得一份清单:
lis = ["pwd", "getpwuid(1000)"]
然后采取lis[0]
,如果它不包含"("
或")"
我打电话
importlib.import_module(lis[0])
然后再次评估。
我可以让同样的事情变得更好吗?