簡體   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