Un premier aperçu des fichiers du module Python


Qu'est-ce qu'un module ?



Chaque fichier .py est un module. Les autres fichiers peuvent lire le contenu de ce module en important un module, ce qui équivaut à inclure en C... Un gros programme présente souvent de nombreux problèmes. .formulaire de modules. L'un des fichiers du module est conçu comme fichier principal (ou fichier de niveau supérieur).


Import de module :



Ici, nous allons faire l'exemple le plus simple, qui sera discuté plus en détail plus tard. Ici, mettez le script1 que vous venez d'écrire à l'endroit où nous avons installé Python :

Puis démarrez-exécutez-python :




10.
    Les modules ne peuvent être importés qu'une seule fois
L'importation est une opération très coûteuse, elle ne peut donc être importée qu'une seule fois par exécution de programme. Si vous souhaitez l'exécuter à nouveau, vous devez appeler la fonction reload intégrée :


La différence entre import et reload est que l'importation ne nécessite pas de parenthèses et est une instruction, tandis que reload est une fonction dont la valeur de retour est un objet module python.
    Les modules jouent le rôle de bibliothèques d'outils : les modules sont souvent des encapsulations de noms de variables et peuvent être considérés comme des espaces de noms ; les noms de variables dans un package sont des attributs, ou en d'autres termes, les attributs sont des noms de variables liés à un objet spécifique. Un module peut généralement être lu avec deux instructions Python : import et from, et l'utilisation de la fonction reload. L'instruction import référence le module dans son ensemble, ce qui équivaut à introduire un objet d'une classe. Vous comprendrez en regardant l’effet ci-dessous. monfichier est référencé en tant que module, puis script1 peut utiliser les propriétés de monfichier.
Une autre méthode de référence :


Comme le montre l'image, from et import sont très similaires, sauf que cette dernière ajoute une affectation supplémentaire au nom de la variable, c'est-à-dire une copie des propriétés du module, afin qu'il puisse être importé en tant que titre au lieu de l'objet myfile.


  • Nous parlerons en détail de la connaissance des modules dans les chapitres suivants. Voici un autre exemple d'importation. Certains amis ont demandé pourquoi import n'est pas exécuté directement comme #include en C++, qui peut ensuite appeler les méthodes et propriétés de ce module. Voici une explication. Ce n'est pas que les méthodes de ce module ne peuvent pas être appelées, mais que l'exemple ci-dessus est relativement simple. Il n'implique pas d'encapsulation de classe et ne comporte que quelques instructions d'exécution. L'exemple donné ci-dessous est un exemple de module simple. Dans cet exemple, Worker.py définit la classe Worker et le module externe est importé via import Worker pour effectuer les opérations associées.




  • importer et depuis la version résumé :



dir(myfile) consiste à obtenir tous les attributs de myfile, où, Les noms soulignés devant sont les noms de variables intégrés prédéfinis de Python


Autres concepts de modules :

  • Les modules sont la plus grande structure de programme des programmes Python
  • Chaque fichier de module est une variable indépendante et complète. package , c'est-à-dire un espace de noms
  • execfile('myfile.py') est une autre façon d'exécuter un programme, mais essentiellement, il n'importe pas le module

modules Python couramment utilisés

  • difflib module de comparaison de diff python
  • module python datetime pour le traitement de la date et de l'heure
  • détection de l'encodage de chaîne/fichier chardet (très utile)
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高。