ホームページ > バックエンド開発 > Python チュートリアル > Pythonカスタムモジュールの詳しい解説

Pythonカスタムモジュールの詳しい解説

高洛峰
リリース: 2017-03-26 18:06:44
オリジナル
1446 人が閲覧しました

Python はカスタムモジュールを追加できます

方法 1:

echo 'export PYTHONPATH='/root/pythondiy/' >> /root/.bashrc # 此目录为你模块的路径
# 然后使用sys模块查看环境变量
import sys
sys.path          # 返回一个列表
['',
 '/usr/local/bin',
 /root/pythondiy',
 '/usr/local/lib/python27.zip',
 '/usr/local/lib/python2.7',
 '/usr/local/lib/python2.7/plat-linux2',
 '/usr/local/lib/python2.7/lib-tk',
 '/usr/local/lib/python2.7/lib-old',
 '/usr/local/lib/python2.7/lib-dynload',
 '/usr/local/lib/python2.7/site-packages',
 '/usr/local/lib/python2.7/site-packages/setuptools-28.8.0-py2.7.egg',
 '/usr/local/lib/python2.7/site-packages/pip-9.0.1-py2.7.egg',
 '/usr/local/lib/python2.7/site-packages/IPython/extensions',
 '/root/.ipython']
ログイン後にコピー

方法 2:

sys.path.append('/root/pythondiy') #この方法は一時的に有効です

2. ファイルの差分を開きます

open('/etc/passwd').read()                        # 返回全文的是str
open('/etc/passwd').readlines()                   # 返回全文的是一个list
open('/etc/passwd').readline()                    # 每一次读取一行,返回str
ログイン後にコピー

3 . カスタムモジュール呼び出し

vim wc.py
#!/usr/bin/python
 
from sys import argv
 
def wc(s):
    chars = len(s)
    words = len(s.split())
    lines = s.count('\n')
    return  lines,words,chars
 
if __name__== '__main__':                      # 只有在执行此脚本时才调用函数。
    with open(argv[1]) as file1:
        print wc(file1.read())
         
vim copy_wc.py
import
ログイン後にコピー

4. 実行結果

[root@peng pyth]# python wc.py  /etc/passwd    # 返回的是passwd文件统计
(23, 31, 1066)
[root@peng pyth]# python copy_wc.py            # 返回的是hosts文件统计
(2, 10, 158)
ログイン後にコピー

5. モジュールパッケージのインポート

# 需要在包里创建一个__init__.py空文件,也可以是包的描述
touch __init__.py
ipython
from pyth import wc                            # 这样就导入一个模块包
ログイン後にコピー

以上がPythonカスタムモジュールの詳しい解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート