繁体   English   中英

如何编写Python包/模块?

[英]How to write a Python package/module?

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

import os

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

后来我称它为

cls()

现在我厌倦了一次又一次地编写以上代码(每次打开gui窗口)。
因此,我想创建一个名为cls的模块以供将来使用,以节省时间。
最后,我将其称为

import cls

cls()

有没有办法做到这一点 ...

谢谢 !

好的,一种解决方案是创建一个目录以添加模块并将此目录添加到Python pat。 例如,您可以在C:\\mypymodules处创建一个目录,并在其中cls.py带有函数的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()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM