我编写了一个python程序,我用控制台中的参数调用它。随着功能的增长,现在所有嵌套在一个文件中的代码量也增加了。
我知道有一些python模块和软件包可以创建,以便将我编写的函数外包出去。但这真的是蟒蛇的做事方式吗?
文件夹结构如何?像
这样的东西prog
__init__.py
module1.py
module2.py
prog.py
其中prog
(目录或python包)和prog.py
共享同一目录?
答案 0 :(得分:1)
这是一个很好的解决方案,认为您的模块应该存储在包中,而不是像主模块那样被调用。这在模块和包名之间容易发生冲突。
这可以是resources
,lib
或其他任何内容,但请注意,而不是prog
,因为您已经有一个名为prog.py
的模块;否则,您如何知道import prog
的结果?
注意:从我在Python 2.6安装中看到的内容,您提出的结构和名称,您没有收到任何错误消息,但无法访问prog.py
内容。
答案 1 :(得分:1)
这是一个相当正常的开发周期 - 任何一组具有共同目的或与一组公共数据相关的函数/方法都是分离成单独模块的候选者。函数必须与代码的其余部分松散耦合(通过函数调用参数和返回值进行通信,而不是共享变量),并且将它们拆分为单独的模块的行为使得识别应转换为函数的共享变量变得容易接口。模块化编程肯定是Pythonic!
您不需要为模块设置单独的文件夹,只需为.py文件提供与其功能相关的有意义的名称。我不会调用文件prog_lib.py,如果它确实是情节我会称之为prog_graphics.py,spincalcs.py如果它对旋转对象进行计算:-)等。