python作成モジュール

7351 ワード

自分で書いた関数は、次の便宜上、モジュールにします
主にいくつかのステップがあります.
1:リリースの準備
2:パブリケーションの構築
3:モジュールをインポートして使用
 
1:リリースの準備
まず、私が自分で書いた印刷リスト(ネストリストを含む)は、リスト内の各データ項目を印刷し、ファイル名はprint_list.py
#encoding=utf8

"""  print_list  ,       print_list()   ,            ,           """

def print_list(lists):
    """           ,  lists,      python  (             ),              
    (   )      ,       """
    for each_item in lists:
        if isinstance(each_item,list):
            print_list(each_item)
        else:
            print(each_item)

 
そして、setupを準備します.pyファイル、このファイルにパブリッシュに関するメタデータが含まれています
from distutils.core import setup

setup(
    name="print_list",
    version="1.0.0",
    py_modules=['print_list'],
    author="lile",
    author_email="[email protected]",
    url = "http://www.cnblogs.com/lemon-le/",
    description="A simple printer of print_list lists"
)

 
2:パブリケーションの構築
print_list.pyとsetup.pyは同じディレクトリの下に置く、このディレクトリの下でpython 3 setupを実行する.py sdistパブリケーションファイルを構築する
lile@vst:~/python/heihei$ python3 setup.py sdist
running sdist
running check
warning: sdist: manifest template 'MANIFEST.in' does not exist (using default file list)

warning: sdist: standard file not found: should have one of README, README.txt

writing manifest file 'MANIFEST'
creating print_list-1.0.0
making hard links in print_list-1.0.0...
hard linking print_list.py -> print_list-1.0.0
hard linking setup.py -> print_list-1.0.0
creating dist
Creating tar archive
removing 'print_list-1.0.0' (and everything under it)

 
次に、パブリケーションをローカルコピー、すなわちpython 3のインストールディレクトリの下にインストールsudo python 3 setup.py install
lile@vst:~/python/heihei$ sudo python3 setup.py install
[sudo] password for lile: 
running install
running build
running build_py
creating build
creating build/lib
copying print_list.py -> build/lib
running install_lib
running install_egg_info
Removing /usr/local/lib/python3.4/dist-packages/print_list-1.0.0.egg-info
Writing /usr/local/lib/python3.4/dist-packages/print_list-1.0.0.egg-info

 
3:モジュールをインポートして使用
その後、このモジュールを使用して、リスト変数を設定してprint_に注ぐことができます.Listモジュール、print_を呼び出しますリスト関数はリストのすべてのデータ項目を印刷します
lile@vst:~/python/heihei$ python3
Python 3.4.0 (default, Apr 11 2014, 13:05:11) 
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import print_list
>>> a=["Sun","Rain",["simle",["heihei","Today is beautiful day"]]]
>>> print_list.print_list(a)
Sun
Rain
simle
heihei
Today is beautiful day