从python文件中提取函数并将其写入其他文件

从python文件中提取函数并将其写入其他文件,python,function,file,testing,split,Python,Function,File,Testing,Split,我编写了一个包含很多函数的python文件,我决定将所有函数拆分为不同的文件,并使用它们的名称和相同的导入 代码如下所示: import.... class TestExtractors(unittest.TestCase): def test_icloud(self):... def test_gogoair(self):... def test_touchofmodern(self):... 我在同一个文件中有100多个函数,所以它太长了。我想用相同的impor

我编写了一个包含很多函数的python文件,我决定将所有函数拆分为不同的文件,并使用它们的名称和相同的导入

代码如下所示:

import....

class TestExtractors(unittest.TestCase):

    def test_icloud(self):...
    def test_gogoair(self):...
    def test_touchofmodern(self):...
我在同一个文件中有100多个函数,所以它太长了。我想用相同的
import
classtestextractor(unittest.TestCase):
我希望文件名是函数名(没有(self))

谢谢你的建议

制作新脚本“split.py”或其他东西。此脚本应执行以下操作:

1) 以字符串形式打开上面的文件

2) 用参数“def”拆分。现在您将有一个字符串列表,让我们将该列表称为L

3) 忽略L中的第一个元素并迭代所有其他元素

4) 对于每个字符串,让我们调用它S,打开新文件并写入其中:

import....

class TestExtractors(unittest.TestCase):
在这个字符串下面写S


如果我需要澄清任何步骤,请告诉我。

因为这些功能是类的一部分,所以您不能将它们移到其他位置。你到底想做什么?嘿,Riko,我不介意再次复制这个类,函数之间没有联系,也不需要彼此工作。他们只需要类TestExtractor。因此,每个文件都应该包含
导入
,以及
定义
。所以,如果我理解正确的话,你想写一个自动完成的脚本吗?我明白了,这正是我想要的。谢谢你的澄清。我将在一点时间内写出答案。我如何告诉
open()
。按
def
拆分
?好的,我成功地做到了。但是我不知道如何使脚本像函数一样将文件命名。要做到这一点,您需要解析字符串S。如果您只需找到第一个“(“with.find”)的索引,那么您就可以得到名称。
将open(“laknertest.py”)作为myfile:data=myfile.read()。将l[1:]中的S替换为('\n','')l=data.split def('def'):(“/home/superfly/Documents/split/{0}.html”.format(s),“w”)as f:f.write(s)
想出了这个,不知道如何继续你是正确的。只要稍微玩一下代码,你就会解决它:)