删除函数内容的Pythonic方法

2024-06-12 14:19:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我想解析一个目录树,找到每一个*.cpp,然后去掉所有的函数,留下mock。你知道吗

解析树没有问题。去内脏比较困难。你知道吗

我当前正在将源文件读入一个字符串,并逐字符循环。如果我看到一个封闭的圆括号),下一个非空白字符是一个大括号{,那么我就有了一个函数start。你知道吗

然后我就可以停止写输出,一边数开大括号和关大括号,直到到达函数末尾匹配的结束大括号}。你知道吗

代码是可怕的,错误和不断变化,所以几乎不值得张贴。你知道吗

有没有一个优雅的解决方案,可能涉及regex,它将删除一个文件中所有函数的主体,其余的保持不变?你知道吗

如果它能够检测函数的类型并生成一个return语句,那就有好处了,但如果需要的话,我自己也能弄清楚。你知道吗


Tags: 函数字符串代码目录错误大括号字符mock