Python 모듈 파일에 대한 첫 번째 살펴보기


모듈이란 무엇인가요?



모든 .py 파일은 모듈입니다. 다른 파일은 C에 포함하는 것과 동일한 모듈을 가져와 이 모듈의 내용을 읽을 수 있습니다. 큰 프로그램은 종종 많은 문제를 야기합니다. . 모듈 파일 중 하나가 기본 파일(또는 최상위 파일)로 설계되었습니다.


모듈 가져오기:



여기서 가장 간단한 예를 만들어 보겠습니다. 이에 대해서는 나중에 자세히 설명하겠습니다. Python을 설치한 곳에 방금 작성한 script1을 넣으세요:

그런 다음 start-run-python:




10.
    모듈은 한 번만 가져올 수 있습니다.
가져오기는 매우 비용이 많이 드는 작업이므로 프로그램 실행당 한 번만 가져올 수 있습니다. 다시 실행하려면 내장된 reload 함수를 호출해야 합니다.


import와 reload의 차이점은 import는 괄호가 필요하지 않고 명령문인 반면 reload는 명령문이라는 점입니다. 반환 값이 Python 모듈 객체인 함수입니다.
    모듈은 도구 라이브러리의 역할을 합니다. 모듈은 종종 변수 이름을 캡슐화하고 네임스페이스로 간주될 수 있습니다. 패키지의 변수 이름은 속성입니다. 즉, 속성은 특정 개체에 바인딩된 변수 이름입니다. 모듈은 일반적으로 import와 from이라는 두 가지 Python 문과 reload 함수를 사용하여 읽을 수 있습니다. import 문은 모듈 전체를 참조하며 이는 클래스의 객체를 도입하는 것과 같습니다. 아래 효과를 보시면 이해가 되실 겁니다. myfile은 모듈로 참조되며 script1은 myfile의 속성을 사용할 수 있습니다.
또 다른 참조 방법:


그림에서 볼 수 있듯이 from과 import는 변수 이름에 추가 할당을 추가한다는 점을 제외하면 매우 유사합니다. 모듈의 속성을 복사하여 myfile 객체 대신 제목으로 가져올 수 있습니다.


  • 다음 장에서 모듈에 대한 지식에 대해 자세히 설명하겠습니다. 어떤 친구들은 C++의 #include처럼 import가 직접 실행되지 않는 이유를 물었습니다. 그러면 이후에 이 모듈의 메서드와 속성을 호출할 수 있습니다. 여기에 설명이 있습니다. 이 모듈의 메소드를 호출할 수 없다는 것이 아니라 위의 예는 클래스 캡슐화를 포함하지 않고 실행 문이 몇 개만 있다는 것입니다. 아래 예제는 간단한 모듈 예제입니다. 이 예제에서는 Worker.py가 Worker 클래스를 정의하고, import Worker를 통해 외부 모듈을 가져와 관련 작업을 수행합니다.




  • 가져오기 및 요약 버전에서:



dir(myfile)은 myfile의 모든 속성을 가져오는 것입니다. , 앞의 밑줄 친 부분은 Python의 미리 정의된 내장 변수 이름입니다


모듈의 다른 개념:

  • 모듈은 Python 프로그램의 가장 큰 프로그램 구조입니다.
  • 각 모듈 파일은 독립적이고 완전합니다. 변수 패키지, 즉 네임스페이스
  • execfile('myfile.py')은 프로그램 실행의 또 다른 방법이지만 본질적으로 모듈을 가져오지 않습니다.

일반적으로 사용되는 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高。