Python モジュール ファイルの概要


モジュールとは何ですか?



#各 .py ファイルはモジュールであり、他のファイルはモジュールをインポートできます。このモジュールの内容は、C にインクルードするのと同等です。大規模なプログラムは、複数のモジュールの形式をとることがよくあります。モジュール ファイルの 1 つはメイン ファイル (またはトップレベル ファイル) として設計されています。


モジュールのインポート:



ここでは最も単純な例を作成します。詳細については、こちらをご覧ください。後で。ここで、先ほど作成した script1 を Python をインストールした場所に置きます:

次に start-run-python:




#10. インポート、インポート、リロード
    # モジュールは 1 回しかインポートできません
インポートは非​​常にコストのかかる操作であるため、プログラムの実行ごとに 1 回しかインポートできません。組み込みのリロード関数を呼び出さない限り、再度実行したい場合:


インポートとリロードの違いは次のとおりです。 import は括弧を必要とせず、ステートメントであり、reload は戻り値が Python モジュール オブジェクトである関数です。
    モジュールはツール ライブラリの役割を果たします。モジュールは多くの場合、変数名のカプセル化であり、名前空間とみなすことができます。パッケージ内の変数名は属性です。つまり、属性は変数名にバインドされています。特定のオブジェクトについて。通常、モジュールには、import と from という 2 つの Python ステートメントを読み込むことができ、もう 1 つはリロード関数の使用です。
    import ステートメントはモジュール全体を参照します。これは、導入することと同等です。クラス、オブジェクト。以下の効果を見れば分かります。 myfile はモジュールとして参照され、script1 は myfile のプロパティを使用できます。
#別の引用方法:



図に示すように、from と import は非常に似ていますが、後者は変数名に追加の代入を追加し、モジュールの属性をコピーするため、代わりにタイトルを使用してインポートできる点が異なります。 myfile オブジェクト。

  • モジュールの知識については次の章で詳しく説明しますが、ここでは別のインポート例を示します。何人かの友人は、インポートが C の #include と異なり、このモジュールのメソッドとプロパティを後で呼び出すことができるのに、直接実行されるのはなぜなのかと尋ねました。説明すると、このモジュールのメソッドを呼び出すことができないのではなく、上記の例はクラスのカプセル化を含まず、実行ステートメントがいくつかあるだけで比較的単純です。以下に示す例は、単純なモジュールの例です。この例では、Worker.py で Worker クラスを定義し、インポート Worker を通じて外部モジュールをインポートして、関連する操作を実行します。




##import&from概要バージョン:


## dir(myfile) myfile 内のすべての属性を取得することです。先頭の下線は Python の事前定義された組み込み変数名です。

モジュールのその他の概念:


モジュールは Python プログラムの最大のプログラム構造です

    各モジュール ファイルは独立した完全な変数パッケージ、つまり名前空間です
  • execfile('myfile.py') はプログラムを実行するもう 1 つの方法ですが、本質的にはモジュールをインポートしません
  • 一般的に使用される Python モジュール


difflib python diff 比較モジュール
  • datetime 日付と時刻を処理する Python モジュール
  • chardet 文字列/ファイル エンコーディング検出(非常に便利)
  • adodb:我们领导推荐的数据库连接组件
    bsddb3:BerkeleyDB的连接组件
    Cheetah-1.0:我比较喜欢这个版本的cheetah
    cherrypy:一个WEB framework
    ctypes:用来调用动态链接库
    DBUtils:数据库连接池
    django:一个WEB framework
    docutils:用来写文档的
    dpkt:数据包的解包和组包
    MySQLdb:连接MySQL数据库的
    py2exe:用来生成windows可执行文件
    Pylons:我们领导推荐的web framework
    pysqlite2:SQLite的连接组件
    pythonwin:Python的Windows扩展
    setuptools:无奈,PEAK的一套python包管理机制
    sqlalchemy:数据库连接池
    SQLObject:数据库连接池
    twisted:巨无霸的网络编程框架
    wxPython-2.6:因为需要保持与linux相同的版本才没用最新的,GUI编程框架
    pypcap:抓包的
    python-dnet:控制网络安全的其他设备
    pyevent:Python的事件支持
    pydot:画图的,graphiz
    sendpkt:Python发包
    simplejson:JSON的支持
    
    
    DPKT:raw-scoket网络编程
    Cx-oracle:连接oracle的好东东
    Mechanize:爬虫连接网站常用
    PIL:图像处理工具包
    
    
    reportlab for PDF 文件。
    PyQt4 for GUI界面
    
    feedparser: rss解析
    chardet:编码检测
    scons: 项目构建工具,写好了模板用起来还是很方便的
    scapy: 网络包构建分析框架,可编程的wireshark,有兴趣的google “Silver Needle in the Skype”
    pefile: windows pe文件解析器
    winpdb: 自己的程序或者用别的库不太明白的时候就靠它了
    pywmi: 省了好多折腾功夫
    pylint: 培养良好的编码习惯
    
    
    下面是准备用的,不做评论:
    
    pygccxml
    pyparsing
    pymacs
    idapython
    paimei
    pysvn
    pyLucene
    wikidpad
    
    
    1.Python操作PDF文件
    2.Python連接PostgreSQL引擎
    3.Python的.NET2.0的曲線表
    
    http://pybrary.net/
    —————————————————–
    1.Python Image Libary
    2.Tkinter Libary
    
    http://www.pythonware.com/index.htm
    —————————————————–
    1.Karrigell
    
    http://karrigell.sourceforge.net/
    —————————————————–
    1.The Standard Python Libary
    
    http://effbot.org/librarybook/
    —————————————————–
    1.Python操作PDF的Libary
    
    http://reportlab.org/
    —————————————————–
    1.Python cURL Libary
    
    http://pycurl.sourceforge.net/
    —————————————————–
    1.urlgrabber
    
    http://linux.duke.edu/projects/urlgrabber/
    —————————————————–
    1.MySQL-Python
    
    http://mysql-python.sourceforge.net/
    —————————————————–
    1.pyScripter
    2.Python for Delphi
    
    http://mmm-experts.com/Products.aspx
    —————————————————–
    1.Python Cookbook
    
    http://aspn.activestate.com/ASPN/Python/Cookbook/
    —————————————————–
    1.pygame
    
    http://www.pygame.org/news.html
    ——————————————————
    1.pymedia
    
    http://www.pymedia.org
    
    ——————————————————
    1.pydbf
    
    http://dbfpy.sourceforge.net/
    ——————————————————
    1.Pexpect
    
    http://pexpect.sourceforge.net/
    ——————————————————
    1.dabo
    desktop application frameworks
    
    http://dabodev.com/
    ——————————————————
    1.pySerial
    
    http://pyserial.sourceforge.net/
    http://wiki.woodpecker.org.cn/moin/PySerial
    ——————————————————
    1.python’s doc
    
    http://wiki.woodpecker.org.cn/moin/PythonZhDoc
    ——————————————————
    1.The Visual Module of VPython(3D)
    
    http://vpython.org/index.html
    ——————————————————
    1.PyLucene
    
    http://pylucene.osafoundation.org/
    ——————————————————
    1.DBUils
    
    http://www.webwareforpython.org/DBUtils
    ——————————————————
    1.http://happyiww.popo.blog.163.com/blog/
    
    a good people’s blog
    ——————————————————
    1.AppleScript,OSAComponents,HtmlCalendar
    
    http://freespace.virgin.net/hamish.sanderson/index.html
    ——————————————————
    1.Pypcap
    
    http://code.google.com/p/pypcap/
    http://monkey.org/~dugsong/dpkt/
    http://www.winpcap.org/install/default.htm
    
    
    python-memcached client module for memcached
    
    
    Kodos,python的正则表达式调试工具,
    
    
    
    PLY (Python Lex-Yacc)
    http://www.dabeaz.com/ply/
    正在用它写汇编器.
    
    wxPython - GUI Framework
    omniORBpy - CORBA Library
    ZODB3 - an OODB implement
    ReportLab - PDF generating solution
    numpy+scipy+matplotlib
    
    
    hachoir 各种多媒体元数据解析
    python-orge 演示用
    
    数据库的:
    sqlalchemy
    sqlobject
    MySQL-python (easy_install的时候就是这个名字)
    
    
    routes
    beaker
    
    两个模板引擎:
    genshi
    mako
    
    paster
    
    
    另外还有知道的
    PyCrypto 加密的
    paramiko 这个可以帮你写sftp,比twisted里面的那个好用一些
    
    twisted 写服务器玩的
    
    PyOpenGL
    
    PyGame
    
    Psyco 传说可以加速你的python程序
    
    PIL (Python Image Library) 处理图片
    
    PyObjC 这个是苹果上用的,写Cocoa程序
    
    
    Python desktop client GUI application:
    wxPython
    PyOpenGL
    PyXML
    ZSI
    davlib.py
    
    ChartDirector
    一个支持多种语言的图表库,无论是效果还是效率,都比jfreechart高。