如何编写一个Python包/模块?

由于我是新手,我开始通过使用python GUI编写简单的程序来学习python。
每当我尝试清除控制台时,我需要定义以下几行代码

import os def cls(): os.system('cls') print("Console Cleared") 

后来我称之为

 cls() 

现在我厌倦了一次又一次地写上面的代码(每次我打开gui窗口)..
所以,我想创build一个名为cls的模块,以备将来使用,以节省我的时间。
最后我会打电话如下

 import cls cls() 

有没有办法做到这一点 …

谢谢 !

那么,一个解决方案是创建一个目录来添加你的模块,并将这个目录添加到Python的pat。 例如,您可以在C:\mypymodules创建一个目录,并在其中放置一个cls.py文件。

现在,让我们将这个目录添加到Python路径。 按照这些说明 ,只需插入C:\mypymodules来代替那里提到的目录。 现在, 打开一个新的命令行窗口并尝试导入模块。

另一个解决方案是使用distutils *。 而不是创建自己的模块目录,在cls.py文件的同一目录中创建一个名为setup.py的文件,其中包含以下内容:

 from distutils.core import setup setup(name='cls', py_modules=['cls']) 

然后,执行它:

 > python setup.py install 

这可能会将您的模块安装在默认的Python库目录中。 实际上,这是打包,管理或者Python包的方式(或者更好的办法之一)。

(我并没有真正使用Windows,所以有些细节可能会被打破,但是我相信一般的概念是一样的)。

*有些人可能会争论使用setuptools,但我认为这确实是矫枉过正的情况。 无论如何,如果你想了解更多,请看这个问题 。

如果你把你的cls()函数放在一个名为cls.py的文件中,然后把它放在与你调用它的程序相同的目录下,或者在你系统的PYTHONPATH某个地方,那么你可以像这样使用你的函数:

 import cls cls.cls() 

这是因为cls()函数在cls模块内(模块的名称由文件名决定)。

如果你想只能做cls()然后做到这一点:

 from cls import cls cls() 

你可以通过使你的模块跨越平台一点点的香料。 这里是:

 import os, sys def cls(): if 'win' in sys.paltform: os.system('cls') print 'Console cleared' else: os.system('clear') print 'Console cleared' 

现在,您可以在任何其他脚本中使用它:

 from cls import cls cls()