我有一个代码片段列表(不是代码行,但是部分行),我需要将其拆分为单个字符串,删除其中的所有内容。
我举一个例子。如果我有这样的一行:
method.functionName(foo.bar(type(pm.someVariable)))
在具有导入的文件中,可以是各种不同的类型,如:
import reallyLongFileModuleNameThatIsWrittenPoorly as method
from filename import someVariable
from rightyOh import * # includes foo.bar static-method, as for this example
import polymaterial as pm
我希望脚本能够运行并出现:
["method.functionName()", "foo.bar()", "pm.someVariable", "type()"]
最终,我喜欢我可以从命令行运行此脚本的功能,为其提供完整的文件路径,脚本将读取其内容以及它导入的任何文件。从那里开始,它应该是灵活的,并且支持大多数(如果不是全部)Python的导入语法。它将读取文件的信息,并在我提供的代码片段中查找方法/类实例/等的实例,如果有的话。
这不需要递归导入,我可能会提供自己的PYTHONPATH来搜索模块。
我觉得以前做过这件事。有任何想法吗?如果没有,我可能会使用Python的检查模块自己编写,但我认为使用import *的模块可能会有点棘手。我很想知道你们所有人的想法,谢谢你们