python 在所有.py文件中更改函数的参数或名称

ifmq2ha2  于 2023-04-04  发布在  Python
关注(0)|答案(1)|浏览(94)

我有不同的.py文件(~10)。例如,这里有两个函数在两个不同的.py文件中。所以,我想将参数B更改为c,函数sum的名称更改为new_name,并且我想在其他.py文件中更改它们。我们在python中有任何选项吗?
f1.py:

def sum(a,b):
 return a+b

f2.py:

import f1
def foo(a,b):
 return a+2*b + sum(a,b)

我想要的代码是输出:
f1.py:

def new_name(a,c):
 return a+c

f2.py:

def foo(a,c):
 return a+2*c + new_name(a,c)
q8l4jmvw

q8l4jmvw1#

不知道你在寻找什么,即IDE与基于Python的解决方案,但这里有一个小脚本,你可以用它来迭代目录中的文件,打开它们,搜索和替换文本。这可能是finnicky工作,但取决于你的文件的内容:

import os

def replace_in_file(file_path):
    with open(file_path, 'r') as f:
        file_contents = f.read()

    # Replace occurrences of 'sum' with 'new_name' and 'b' with 'c' per OP instructions
    new_contents = file_contents.replace('sum(', 'new_name(').replace(', b', ', c')

    with open(file_path, 'w') as f:
        f.write(new_contents)

# Directory containing the .py files
directory = '/path/to/directory'

# Loop over all .py files in the directory
for filename in os.listdir(directory):
    if filename.endswith('.py'):
        file_path = os.path.join(directory, filename)
        replace_in_file(file_path)

相关问题