gpt4 book ai didi

python - 重写 python 脚本,在脚本的每个类中注入(inject)一个方法

转载 作者:行者123 更新时间:2023-12-02 03:54:19 28 4
gpt4 key购买 nike

假设我有一个 python 模块 foo.py,其中包含:

class Foo(object):
def __init__(self):
pass

接下来我想解析这个脚本并在它的每个类中注入(inject)一个方法,将其重写为如下所示:

class Foo(object):
def __init__(self):
pass
def my_method(self):
pass # do some stuff here

我注意到 python 2.6 有一个可以用于此目的的 ast 模块,但不幸的是我需要在 python 2.5 中执行此操作。欢迎任何建议。

最佳答案

我明白你想要做什么,但是如果你的源代码相当简单,也许你可以跳过整个解析和写回,只运行正则表达式?

类似于:

re.sub('^class\s+(\w+):\s*\n', 'class \\1:\n%s' % method_source, file_source, flags=re.M)

只要缩进正确..

关于python - 重写 python 脚本,在脚本的每个类中注入(inject)一个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6093566/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com