我正在为一个班设计python作业。我定义函数,编写docstring,然后实现它们。之后,我想删除所有函数的实现,并用raise NotImplementedError
替换代码(而不是文档字符串、函数名和参数)
是否有任何工具(例如IDE)可以自动为我删除所有代码,这样我就不必自己替换实现的功能?我正在考虑写一个小剧本,但我想在我写这个之前我可以在这里问一下
如果有人写过类似的东西,或者知道如何快速实现这一点,我会非常感激
下面是我想实现的一个简单示例:
test.py
def add(a,b):
"""
Adds two numbers
"""
return a+b
def multiply(a,b):
"""
Multiplies two numbers
"""
return a*b
应该以自动化的方式(当然对于更大的文件):
test.py
def add(a,b):
"""
Adds two numbers
"""
raise NotImplementedEror
def multiply(a,b):
"""
Multiplies two numbers
"""
raise NotImplementedEror
我不知道有什么工具可以专门做到这一点,但是Python通过^{} 模块在其自己的标准库中提供了出色的AST操作工具。您将需要一个第三方模块将转换后的结果“解压”回常规Python代码,在快速搜索后,我发现this one似乎可以实现这一点,尽管似乎还有很多其他模块
这里有一些示例代码可以帮助您找到正确的方向。显然,您需要对此进行调整,以获得您想要的确切行为,特别是如果您想要提供类而不仅仅是顶级函数(因为我没有编写任何东西来处理该用例)。但是有了一点Python知识,应该可以实现自动化
另外,这是Python 3(从2020年开始,它是唯一受支持的Python版本)。如果您仍然使用Python 2,则可能需要进行一些修改
如果你愿意花时间去做的话,自动化是绝对可能的。如果你打算做几个作业,甚至几个学期,你可以考虑编写一个脚本。但是如果你只做一次,那么用手来做可能更值得你花时间
相关问题 更多 >
编程相关推荐