如何将python源文件拆分为多个文件?

如何将python源文件拆分为多个文件?,python,python-2.7,Python,Python 2.7,我有一个python 2.7.x源文件,比如test1.py,其中包含: import a import b def def1(): ... def def2(): ... def def_confused(): ... def def_crazy(): ... 随着我添加越来越多的功能,它变得非常复杂。如何将其自动拆分为def1.py,def2.py,def\u-fuzzle.py,def\u-crazy.py等 例如,fspli

我有一个python 2.7.x源文件,比如
test1.py
,其中包含:

 import a
 import b
 def def1():
      ...
 def def2():
      ...
 def def_confused():
      ...

 def def_crazy():
      ...
随着我添加越来越多的功能,它变得非常复杂。如何将其自动拆分为
def1.py
def2.py
def\u-fuzzle.py
def\u-crazy.py


例如,fsplit是一个将大型Fortran源文件拆分为每个子例程一个文件的程序。我正在寻找一个算法或外壳脚本或类似的东西,可以实现这个任务。希望是python本身。

您所说的自动是什么意思?添加了解释自动重构到多个源文件有点困难,因为模块B中定义的某些函数可能依赖于模块a,并且您必须将正确的导入放在模块的顶部-因此我不知道有任何工具可以自动执行此操作。像Pycharm这样的优秀IDE通过突出显示缺少的定义并在ALT+ENTER上自动添加正确的导入语句来提供帮助。在Pycharm中,您可以使用Move重构…顺便说一句,而在C等语言中,每个文件都有一个函数定义是很常见的(有助于减少构建时间),这对于Python来说有点太多了;在大多数旗舰Python项目中,定义按关联/域分组到模块中。这也许可以解释为什么拆分模块的工具并不流行:它在Python中并不常见。