图形用户界面入门,常用的python模块及安装形式

By admin in 4858.com on 2019年4月11日

目录:

1模块

一.1Python中的模块介绍和使用

有过C语言编制程序经验的对象都知道在C语言中只要要引用sqrt函数,必须用讲话#include 引进math.h那个头文件,不然是无力回天符合规律实行调用的。

那么在Python中,即使要引用1些其它的函数,该怎么处理吧?

在Python中有一个定义叫做模块(module),这一个和C语言中的头文件以及Java中的包很周围,比如在Python中要调用sqrt函数,必须用import关键字引进math那一个模块,上面就来询问一下Python中的模块。

说的通俗点:模块就好比是工具包,要想利用那几个工具包中的工具(就好比函数),就须要导入那么些模块

 

adodb:大家总经理推荐的数据库连接组件
bsddb3:伯克利DB的总是组件
Cheetah-一.0:笔者比较欣赏那么些本子的cheetah
cherrypy:一个WEB framework
ctypes:用来调用动态链接库
DBUtils:数据库连接池
django:一个WEB framework
docutils:用来写文书档案的
dpkt:数据包的解包和组包
MySQLdb:连接MySQL数据库的
py二exe:用来生成windows可执行文件
Pylons:大家首席营业官引入的web framework
pysqlite2:SQLite的连日组件
pythonwin:Python的Windows扩展
setuptools:无奈,PEAK的壹套python包管理机制
sqlalchemy:数据库连接池
SQLObject:数据库连接池
twisted:巨无霸的网络编制程序框架
wxPython-二.陆:因为急需保险与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.Karrigell                                    
1.The Standard Python Libary     
1.Python操作PDF的Libary             
1.Python cURL
Libary                   
1.urlgrabber                                
1.MySQL-Python                          
1.pyScripter
2.Python for
Delphi                      
1.Python
Cookbook                     
图形用户界面入门,常用的python模块及安装形式。1.pygame                                    
1.pymedia                                   http://www.pymedia.org
1.pydbf                                       
1.Pexpect                                   
1.dabo
desktop application frameworks  

1.pySerial

1.python’s doc

1.The Visual Module of VPython(3D)

1.PyLucene

1.DBUils

1.
a good people’s blog
1.AppleScript,OSAComponents,HtmlCalendar

1.Pypcap

python-memcached client module for memcached
Kodos,python的正则说明式调节和测试工具,
PLY (Python Lex-Yacc)

正在用它写汇编器.
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里面包车型大巴丰硕好用1些
twisted 写服务器玩的
PyOpenGL
PyGame
Psyco 遗闻能够加速你的python程序
PIL (Python Image Library) 处理图片
PyObjC 那几个是苹果上用的,写Cocoa程序

Python desktop client GUI application:
wxPython
PyOpenGL
PyXML
ZSI
davlib.py
ChartDirector
1个支撑各类语言的图表库,无论是效果依然效用,都比jfreechart高。

###############  本身补充一下
##################
游戏3D  pyglet、pythonOgre、

  一、安装GUI工具包:EasyGui

1.1Python中的模块介绍和应用

1.1.1 import

在Python中用关键字import来引进有些模块,,比如要引用模块math,就能够在文件最初叶的地点用import math来引进。当解释器碰到import语句,借使模块在最近的检索路径就会被导入。

在调用math模块中的函数时,必须那样引用:模块名.函数名

4858.com 1

4858.com 2

4858.com 3

注意:

透过那种艺术引进的时候,调用函数时只可以给出函数名,不能交到模块名,但是当八个模块中隐含相同名称函数的时候,前边贰次引入会覆盖前1次引进。相当于说如果模块A中有函数function( ),在模块B中也有函数function( ),假设引进A中的function在先、B中的function在后,那么当调用function函数的时候,是去实施模块B中的function函数。

假设想三次性引进math中兼有的事物,还可以通过 from math import * 
来实现

blender(c),k-3d(c++),vpython,panda3d

python双肩包收集 catswhocode.com  的 jbj Graphical
interface wxPython http://wxpython.org 
Graphical
interface pyGtk http://www.pygtk.org 
Graphical interface pyQT  
Graphical interface Pmw  
Graphical interface Tkinter 3000  
Graphical interface Tix  
     
Database MySQLdb  
Database PyGreSQL  
Database Gadfly  
Database SQLAlchemy  
Database psycopg  
Database kinterbasdb  
Database cx_Oracle  
Database pySQLite  
     
MSN Messenger msnlib  
MSN Messenger pymsn  
MSN Messenger msnp  
Network Twisted  
Images PIL  
Images gdmodule  
Images VideoCapture  
     
Sciences and Maths scipy  
Sciences and Maths NumPy  
Sciences and
Maths numarray  
Sciences and Maths matplotlib  
     
Games Pygame  
Games Pyglet  
Games PySoy  
Games pyOpenGL  
     
Jabber jabberpy  
     
Web scrape  
Web Beautiful Soup  
Web pythonweb  
Web mechanize  
     
Localisation geoname.py  
     
Serial port pySerial  
Serial port USPP  
     
Parallel
Port pyParallel  
     
USB Port pyUSB  
     
Windows ctypes  
4858.com ,Windows pywin32  
Windows pywinauto  
Windows pyrtf  
Windows wmi  
     
PDA/GSM/Mobiles pymo  
PDA/GSM/Mobiles pyS60  
     
Sound pySoundic  
Sound pyMedia  
Sound FMOD  
Sound pyMIDI  
     
GMail libgmail  
Google pyGoogle  
Expect pyExpect  
WordNet pyWordNet  
Command
line cmd  
Compiler backend llvm-py  
3D VPython http://vpython.org

encryption              
 pyDes DES加密解密模块 

parsing pyparsing 类似lex/yacc但更简明的词法/语法分析器pyparsing.wikispaces.com

 

Tkinter———— Python暗中认可的图形界面接口。
Tkinter是3个和Tk接口的Python模块,Tkinter库提供了对 Tk
API的接口,它属于Tcl/Tk的GUI工具组。Tcl/Tk是由JohnOusterhout发展的书写和图表设备。Tcl(工具命令语言)是个宏语言,用于简化shell下复杂程序的支付,Tk工具包是和Tcl1起付出的,
指标是为着简化用户接口的统一筹划进度。Tk工具包由许多不等的小部件,如二个按钮、三个滚动条等。通过Tk提供的那么些小部件,我们就可快速地进行GUI开
发。Perl、Scheme等语言也应用Tk库进行GUI开发。Tkinter是跨平台,在各样平台下都能利用。
Python Imaging
Library(PIL)————python提供有力的图形处理的能力,并提供广泛的图形文件格式扶助,该库能拓展图纸格式的更换、打字与印刷和展现。还是能实行一些图片效果的处理,如图形的推广、减少和旋转等。是Python用户举行图象处理的精锐工具。
Pmw(Python
megawidgets)Python一流GUI组件集————叁个在python中使用Tkinter模块营造的高级GUI组件,每种Pmw都统一了一个或多少个Tkinter组件,以落到实处更实用和更扑朔迷离的功用。
PyXML———— 用Python解析和拍卖XML文书档案的工具包,包中的④DOM是一心相容于W3C
DOM规范的。它包罗以下内容:
xmlproc: 多个符合规范的XML解析器。
Expat: 贰个飞快的,非验证的XML解析器。 还有其它
和他同级其他还有 PyHtml PyS地霉素L
PyGame———— 用于多媒体开发和游戏软件开发的模块。
PyOpenGL————
模块封装了“OpenGL应用程序编制程序接口”,通过该模块python程序员可在先后中合拢二D和3D的图纸。
NumPy、NumArray和SAGE————
NumArray是Python的1个恢宏库,主要用于拍卖任意维数的原则性类型数组,不难说正是三个矩阵库。它的低层代码应用C来编排,所以速度的优势很
明显。NumPy是Numarray的后继者,用来取代NumArray。SAGE是遵照NumPy和任何多少个工具所整合成的数学软件包,目的是顶替
Magma, Maple, Mathematica和Matlab 那类工具。
MySQLdb模块————
用于连接MySQL数据库。还有用于zope的ZMySQLDA模块,通过它就可在zope中接2连三mysql数据库。
PyGTK ———— 用于python
GUI程序开发的GTK+库。GTK正是用来贯彻GIMP和Gnome的丰裕库。有了它,你完全能够满怀信心的品味自身创制Photoshop
PyQt ————
用于python的Qt开发库。QT就是兑现了KDE环境的尤其库,由1多级的模块组成,有qt,
qtcanvas, qtgl, qtnetwork, qtsql, qttable, qtui and
qtxml,蕴涵有300个类和当先57四十五个的函数和办法。PyQt还帮助二个叫qtext的模块,它包罗三个QScintilla库。该库是
Scintillar编辑器类的Qt接口。
PyMedia ————
用于多媒体操作的python模块。它提供了拉长而简单的接口用于多媒体处理(wav,
mp三, ogg, avi, divx, dvd, cdda etc)。可在Windows和Linux平台下行使。
Psyco ————
3个Python代码加快度器,可使Python代码的实行进程增加到与编写翻译语言同样的水准。
Python-ldap ————
提供一组面向对象的API,可方便地在python中访问ldap目录服务,它依据OpenLDAP二.x。
smtplib模块 ———— 发送电子邮件。
ftplib模块 ————
定义了FTP类和有些措施,用以进行客户端的ftp编制程序。我们可用python编写八个谈得来的ftp客户端程序,用于下载文件或镜像站点。假若想打听ftp协议的详尽内容,请参考LacrosseFC95九。
xmpppy模块 ———— Jabber服务器选用开发的XMPP协议,谷歌Talk也是行使XMPP协议的IM系统。在Python中有一个xmpppy模块帮衬该协议。也正是说,大家能够透过该模块与Jabber服务器通讯,是还是不是很Cool。

  二、导入EasyGui

有过C语言编制程序经验的爱人都清楚在C语言中倘诺要引用sqrt函数,必须用讲话#include
引进math.h这几个头文件,不然是不恐怕符合规律开始展览调用的。

1.1.2 from…import

Python的from语句让你从模块中程导弹入三个内定的某些到日前定名空间中

语法如下:from  modname  import  name1[, name2[, … nameN]]

例如,要导入模块fib的fibonacci函数,使用如下语句:

from  fib  import  fibonacci

注意

·不会把整个fib模块导入到当前的命名空间中,它只会将fib里的fibonacci单个引进

原作地址:

自己常用的多少个第二方 Python 库收藏 
小编:赖勇浩()
xPython

若果您前边是 windows 程序员,用 MFC 可能 WIN3二API 费用界面程序,那进去
Python 国度最佳的 GUI 选择相应是 wxPython。它是 wxWidgets 的 Python
Bind,与 wxWidgets 的付出完美同步,最为根本的有个别是它的新闻机制与 MFC
颇为相似,从前在 MFC 的经验完全能够稍作变化就沿用在 wxPython 下面。在
WIN3二 开发中,最讨厌的一环肯定有 WM_SIZE
消息的处,在主窗口大小变化的时候,保持控件布局在 WIN3二是1件麻烦事。那件事情 wx 化解得非凡健全,它的sizer
概念能够让小编轻松地在分裂窗口尺寸的情况下保持完美的控件布局。其余就算您曾经厌烦了
MFC 的 doc-view 模型,wx 也得以给你一个新的取舍;假使您不行欣赏 doc-view
模型,放心,在 wx
中还是能够轻松达成,在此以前的考虑还可以够在此处发挥余热。
wxPython 有三个包裹,一个 PythonCard,另多少个是 dabo。前者是 wxPython
的星星封装,不扶助 wxPython 的成套性子,它的靶子是让 wxPython 更加Pythonic。后者比 PythonCard 要小幅度不少,确切来说,它应当是3个三层架构的
C/S 形式的耗费框架。就算你想付出基于数据库的利用(如 MIS、E福睿斯P 等)用
dabo 是二个毋庸置疑的选料;别的,即便你此前习惯了 VB、VFP、Delphi 等 RAD
开发条件,dabo 并比不上那么些昂贵的工具差多少啊!

py2exe

依据邪恶的 windows 思维,编写的选择假若不编写翻译出一个 .exe
文件或许是算不得“软件”的,py二exe 效用正是把您的 .py 脚本变成 .exe
文件,平日它会把脚本打包到一个 .zip 文件中去,但也你可以因此改动
setup.py 脚本把装有的剧本、依赖的 dll 等壹切包裹到二个 exe
中去,看起来跟 VC、VB 编写翻译出来的次序尚未什么两样!
假设您的客户供给在 windows 下使用你的应用程序,py二exe
是你不能缺少的工具。小编不怕用它包裹由 wxPython
写的小工具给集团里的玩乐策划用的。

psyco

剧本的举行效用多少有点救经引足,固然优化起来并不是难事,但万一有简要的点子,近乎不用修改源代码,那自然值得去关爱一下。psyco
的神奇在于它只要求在代码的入口处调用短短两行代码,品质就能升级 4/10或越来越多,真可谓是一蹴而就!
假如您的客户觉得您的先后有点慢,敬请不要急着去优化代码,psyco
恐怕能让他及时转移视角。psyco 堪称 Python 的
jit,有不少潜力足以开掘,若是剩下来给您优化质量的时间已经不多,请马上去阅读它的手册,有许多招儿轻松优化品质。

PIL

PIL 是 Python
的图像处理库,作者的见地是强到没得说,不难到没得说。它能够打开数10种图像格式,常见的
jpg/png/bmp
等当然不在话下;其余还提供千千万万图像处理函数,如图像增强、滤波算法等,详情能够参见小编原先的一篇小说《用Python
做图像处理》()和《总计图像相似度》()。

MySQLdb

那是 Python 对开源数据库 Mysql
的支撑,官网在。帮助 Mysql
3.23-五.壹 全体系版本,Python 版本的供给是 二.叁-2.伍。MySQLdb 是 Python DB
API-二.0 的落到实处,现在早就很干练了。最新的版本是 1.二.二 。
假若从事服务器开发,那须求跟数据库连接池打交道,这时你能够选择 DBUtils
或 jonpy 四个开源程序库。当中 DBUtils 是壹套数据库连接池库,而 jonpy
则囊括了 CGI
以及数据库连接池等多个职能,请在翻阅手册后选取13分的要好库。

pyprocessing
Python 解释器里的 GIL(全局解释器锁)使得 Python
在多核时期有点为难——那个支撑原生线程的脚本语言竟然不可能透过八线程利用四个CPU 内核同时出现总结。pyprocessing 未有尝试去除
GIL,而是剑走偏锋,尝试从多进度的法子来协理 Python
走出困境。结果正是采用 pyprocessing 制程和进度间通讯不仅像使用内置的
threading 模块那么粗略,甚至还特别简便易行。pyprocessing 不仅能够通过本机
socket 和管道展开通讯,而且封装得颇为完美,它的 Queue 完结用起来跟内置的
Queue 没啥两样,但它是二个历程间共享的行列哦!
pyprocessing 在 py二.陆 和 py三.0 中早已作为内置模块了,也终究开发社区对
pyprocessing 项目标一定吗。若是您用 Python
开发服务器应用,特别是网络电子游艺那样的行使,pyprocessing
怎么能够不去关爱一下!

=============================================================================

Python模块安装

  1. 单文件模块
    直白把公文拷贝到$python_dir/lib

  2. 多文本模块,带setup.py
    python setup.py install

  3. egg文件
    1) 下载ez_setup.py,运行python ez_setup
    2) easy_install *.egg
    即使Python的模块能够拷贝安装,但是一般景观下推荐制作一个安装包,即写1个setup.py文件来安装。
    setup.py文件的选用:

% python setup.py build #编译
% python setup.py install    #安装
% python setup.py sdist     #制作分发包
% python setup.py bdist_wininst #成立windows下的分发包
% python setup.py bdist_rpm

setup.py文件的编辑撰写
setup.py中重大实施多个setup函数,该函数中大部是描述性东西,最主要的是packages参数,列出具有的package,能够用自带的find_packages来动态获取package。所以setup.py文件的编排实际是很简单的。
归纳的例证:
setup.py文件

 from setuptools import setup, find_packages
setup(
       name = ” mytest ” ,
       version = ” 0.10 ” ,
       description = ” My test module ” ,
       author = ” Robin Hood ” ,
       url = ” http://www.csdn.net ” ,
       license = ” LGPL ” ,
       packages = find_packages(),
       scripts = [ ” scripts/test.py ” ],
       )

mytest.py

import sys
def get():
     return sys.path

scripts/test.py

import os
print os.environ.keys() 

setup中的scripts表示将该文件放到 Python的Scripts目录下,能够一直用。
OK,不难的设置成功,能够运作所列举的授命生成安装包,也许安装该python包。

  三、使用EasyGui

那么在Python中,即使要引用1些任何的函数,该怎么处理啊?

1.1.3 from … import *

把多少个模块的拥有内容全都导入到当前的命名空间也是实惠的,只需利用如下宣示:

from  modname   import  *

注意

·那提供了3个粗略的艺术来导入2个模块中的全数品类。但是那种声明不应该被过多地采取。

本机测试成功(win3二-python25)!

setuptools它能够自行的设置模块,只必要您提必要它1个模块名字就能够,并且自动帮你消除模块的依赖难题。①般境况下用setuptools给安装的模块会自动放到多少个后缀是.egg的目录里。

第3,安装setuptools那么些东西,先去下载多少个剧本:  下载完后平素实施它就会帮您把setuptools给装好。
以后,安装模块的行使办法便是利用1个叫easy_install的一声令下,在Windows里,那些命令在python安装目录下的scripts里面,所以供给把scripts加到环境变量的PATH里,那样用起来就更有益于,linux下不要求专注那个标题。

  四、修改暗中认可设置

在Python中有1个概念叫做模块(module),那个和C语言中的头文件以及Java中的包很接近,比如在Python中要调用sqrt函数,必须用import关键字引进math这一个模块,上边就来掌握一下Python中的模块。

一.一.四 as:可以更改小名

4858.com 4

安装软件只供给实践:easy_install 模块名

pyinstaller 来树立linux下的python独立执行文书

以下内容假定已安装好Python 2.4/二.5
1、下载并编写翻译pyinstaller(只需做一遍,以往可间接做第叁步)
一.下载pyinstaller,现在的版本是一.三
(1)wget 

二.解包进去源码目录
(1)tar zxv pyinstaller_1.3.tar.gz
(2)cd pyinstaller-1.3/source/linux

三.编写翻译源代码
(1)python Make.py  生成python的 .pyc文件
如无错误,则出现如下提醒(只有一行):
Now run “make” to build the targets:

(2)make 连接生成linux的 .o 文件

四.生成编写翻译配置文件
(一)python Configure.py  生成config.dat配置文件

二、编写翻译独立运维的python可执行文件
1.生成spec文件
python pyinstaller-1.3/Makespec.py –onefile –upx linuxlaptop.py

参数表达:
–onefile 生成单文件
–upx          生成压缩的文本(可减小执行文书体量,需先安装upx软件包)
二.生成最后的可执行文件
python pyinstaller-1.3/Build.py linuxlaptop.spec

  5、课时35课后习题及答案

说的通俗点:模块就好比是工具包,要想利用这么些工具包中的工具(就好比函数),就供给导入那一个模块

一.1.5 定位模块

当你导入1个模块,Python解析器对模块地方的搜寻顺序是:

一.当前目录

贰.要是不在当前目录,Python则搜索在shell变量PYTHONPATH下的各种目录。

三.万1都找不到,Python会察看暗中同意路径。UNIX下,暗中认可路径一般为/usr/bin/python/

4.模块搜索路径存款和储蓄在system模块的sys.path变量中。变量里含有当前目录,PYTHONPATH和由设置进程决定的私下认可目录。

实施到位后将在当前目录生成可进行的linuxlaptop文件,如有失常态欢迎与自家交换:linuxlaptop.cn。

用cx_Freeze把python打包成exe可执行文件

在此以前根本不曾试过把Python打包,前天试了试,发现包裹也是一件挺不难的事情.Python打包有很各种采纳.cx_Freeze是一种,
py二exe也得以,还有二个pyinstaller.我用的是cx_Freeze,而py2exe因为sf实在太慢连不上.所以无法,只能先用可以下
载的.cx_Freeze的素材相比少,然则不是太痛心,因为类似cx会比py二exe简便易用,而且接近是跨平台的,不错不错.
   cx_Freeze的用法就叁个指令FreezePython.exe,打包也很飞速:
   FreezePython.exe  –install-dir=”/your/path/to/install” app.py
  
然后就会把app.py以及其借助的兼具模块,包和库全体归整后放置–install-dir
所指的路径下.
  
蒙受八个难题,叁个是文本编码,一早先接二连3说找不到gb231二的编码,后边google了一下,发现要这么做:    
在app.py中添加from encodings import gbk 一句,然后就能够了.   
设若用到了gettext,要小心po文件中的
   “Content-Type: text/plain; charset=gbk\n”
   “Content-Transfer-Encoding: cp936\n”    
那两句要这样写,字符集要用gbk,不要用gb231二.
   另二个题材是控制台隐藏:  
默认cx_Freeze打包后都以控制台程序,就算你打包三个wxPython程序,也会有一个黑黑的控制台在末端做背景,要去掉控制台就要那样:
   FreezePython.exe –install-dir=”\your\install\path”
–base-binary=Win32GUI.exe app.py
   加了–bash-binary
后就可以只运营前台的界面了,不过若是程序出错,会弹出三个荒谬对话框,说找不到traceback模块.
   那即将在app.py文件中加一句:
   import traceback

    把错误上报以对话框方式弹出.

 

1.1.1import

壹.二模块制作

1.二.一 定义自个儿的模块

在python中,每种Python文件都足以当做三个模块,模块的名字就是文本的名字。

比如说有那般一个文书test.py,在test.py中定义了函数add

test.py:

             defadd(a,b):

             returna+b

壹.二.2 调用本人定义的模块

那么在其它文件中就足以先import test,然后通过test.add(a,b)来调用了,当然也得以经过from test import add来引进

main.py:

                    importtest

                    result = test.add(11,22)

                    print(result)

一.二.叁 测试模块

在实际开中,当二个开发人士编写完二个模块后,为了让模块可以在项目中实现想要的意义,这一个开发人员会活动在py文件中添加壹些测试新闻,例如:

test.py:

                     defadd(a,b):

                      returna+b

#用来进展测试

                 ret = add(12,22)

                  print(‘int test.py file,,,,12+22=%d’%ret)

若果那时候,在任何py文件中引入了此文件的话,想想看,测试的那段代码是不是也会实施吗!

main.py:

                         importtest

                         result = test.add(11,22)

                         print(result)

现今,可窥见test.py中的测试代码,应该是独自实施test.py文件时才应该履行的,不该是别的的文书中引用而施行

为了缓解这一个难点,python在实行三个文件时有个变量__name__

4858.com 5

4858.com 6

总结:

·能够依照__name__变量的结果能够判明出,是直接实施的python脚本依旧被引进执行的,从而能够有选择性的推行测试代码

·__name__假如写在被直接运维的主文件中,是”__main__”

·尽管写在被导入的文本中,运营主文件的时候,导入文本中的__name__是”模块的名字”

***********************************

在Python中用关键字import来引进有个别模块,比如要引用模块math,就能够在文件最初叶的地点用import
math来引进。

壹.三 模块中的__all__

一.3.1   模块中并未__all__

4858.com 7

运作结果:

4858.com 8

1.三.二模块中有__all__

4858.com 9

运营结果:

4858.com 10

总结

·如若1个文本中有__all__变量,那么也就代表那几个变量中的成分,不会被from xxx import *时导入

一、安装GUI工具包:EasyGui

形如:

1.4 python中的包

1.4.1引入包

有2个模块效能有些关系

4858.com 11

据此将其置于同三个文本夹下

4858.com 12

选取import文件.模块 的情势导入

4858.com 13

动用from文件夹import模块 的办法导入

4858.com 14

在msg文件夹下创设__init__.py文件

4858.com 15

在__init__.py文件中写入

4858.com 16

再也选择from文件夹import模块 的不2诀窍导入

4858.com 17

总结:

·包将有关联的模块协会在同步,即松手同三个文件夹下,并且在这几个文件夹成立四个名称叫__init__.py文件,那么这些文件夹就称之为包

·有效制止模块名称争持难题,让使用协会结构尤其清楚

1.4.2 __init__.py文件有啥样用

__init__.py控制着包的导入行为

1.4.3__init__.py为空

壹味是把这一个包导入,不会导入包中的模块

1.4.4__all__

在__init__.py文件中,定义3个__all__变量,它决定着from 包名
import *时导入的模块

文本下的文本:

4858.com 18

用__all__操纵导入的模块:

4858.com 19

a能访问,b不能够访问:

4858.com 20

1.4.5(了解)可以在__init__.py文件中编辑内容

能够在那些文件中编辑语句,当导入时,那些言辞就会被执行

__init__.py文件

4858.com 21

4858.com 22

***********************************

import module1,mudule2

1.五模块公布

首先步:建二个文书   pakeAge (名字自定)

第二步:cd pakeAge

4858.com 23

第5步:
其实正是在packAge下创立包a,包b,和setup.py文件,然后建一些文书在a,b上边

4858.com 24

第四步:把想要写的音讯写入setup.py文件中,并建构setup.py
文件(那个时候你会发现,建构时只会写入你选入的文书)

4858.com 25

第伍步:生成发布压缩包

4858.com 26

第9步:把这几个压缩包发到桌面上供役使

4858.com 27

本章介绍的是图形用户界面编制程序,也便是平时所说的GUI(读作【gu:i】)编制程序,那多少个富含按钮、文本、输入框的窗口的编制程序,相信我们都不会不熟悉。

当解释器蒙受import语句,倘若模块在近期的寻找路径就会被导入。

一.六模块安装、使用

一.陆.一装置的方法

          一.找到模块的压缩包

          2.解压

          三.进来文件夹

          4.执行命令python setup.py install

注意:

·即使在 install
的时候,执行目录安装,可以动用python setup.py install –prefix=安装路径

·假使在 install 的时候,要设置细节都写到 log
里了,能够采取python setup.py install –record=日志文件的名字。要是除去cat log|xagrs rm-rf。也足以经过
rm 命令删除。

1.陆.贰模块的引进

在程序中,使用 from import 即可成功对设置的模块使用

from 模块名 import 模块名或然 *

日前有成都百货上千Python的GUI工具包可供选拔,Python有2个格外不难的GUI工具包:EasyGui。EasyGui跟它的名字如出一辙的简易,一旦你的模块导入了EasyGui,GUI操作正是3个粗略地调用EasyGui函数的多少个参数的标题了。

在调用math模块中的函数时,必须那样引用:

EasyGui官网:http://easygui.sourceforge.net

模块名.函数名

动用规范方法安装:

因为大概存在那样一种状态:在多少个模块中隐含相同名称的函数,此时一经只是经过函数名来调用,解释器无法知晓终究要调用哪个函数。所以要是像上述如此引进模块的时候,调用函数必须抬高模块名

第一步:解压easygui-0.96.zip

4858.com 28

第三步:使用命令窗口切换来easygui-docs-0.玖陆的目录下。

偶然大家只须要利用模块中的某些函数,只须要引进该函数即可,此时能够用上面方法实现:

第三步:在windows下执行  C:\Python34\python.exe setup.py install

   from  模块名  import  函数名1,函数名2….

    在Linux或Mac下执行  sudo /usr/bin/python34 setup.py install

不只可以够引进函数,还是能够引进一些全局变量、类等

   (命令的先底部分是python程序在微型总计机上的装置路径,自行开始展览改动)

注意:

windows下的设置界面如下图所示:

o通过那种艺术引入的时候,调用函数时不得不给出函数名,无法交付模块名,但是当三个模块中带有相同名称函数的时候,前面叁回引入会覆盖前一遍引进。也正是说假使模块A中有函数function(
),在模块B中也有函数function(
),若是引进A中的function在先、B中的function在后,那么当调用function函数的时候,是去实施模块B中的function函数。

 4858.com 29

若是想1次性引进math中具有的事物,还能通过from math import *来实现

 

1.1.1from…import

********************

Python的from语句让你从模块中程导弹入二个点名的有些到眼前定名空间中

二、导入EasyGui

语法如下:

********************

       from   modname   import   name1[, name2[, … nameN]]

为了利用那一个Easygui那几个模块,你应超过导入它。最简单易行的导入语句是 import
easygui。

比如说,要导入模块fib的fibonacci函数,使用如下语句:

假定用那种导入格局的话,那么在动用easygui的函数时候,必须在函数的先头加上前缀easygui:

4858.com 30

>>> import easygui
>>> easygui.msgbox("DC love ZWW")

注意

回车后即弹出信息框,如图所示:

·不会把壹切fib模块导入到当前的命名空间中,它只会将fib里的fibonacci单个引进

 4858.com 31

1.1.1from … import *

另壹种选取是导入整个Easygui包:from easygui import
*,那样使得大家更易于调用Easygui的函数,可以一贯那样编写代码:

把二个模块的有所内容全都导入到当前的命名空间也是实惠的,只需采用如下宣示:

>>> from easygui import *
>>> msgbox("DC love ZWW")

4858.com 32

其三种方案是运用类似下面的import语句(提议选拔):import easygui as
g,那样能够让您保持Easygui的命名空间,同时收缩输入字符的数量:

注意

>>> import easygui as g
>>> g.msgbox("DC love ZWW")

这提供了2个简便的情势来导入3个模块中的全数连串。然则那种申明不应该被过多地动用。

 

1.1.1as

********************

4858.com 33

三、使用EasyGui

1.1.1定位模块

********************

当您导入一个模块,Python解析器对模块地方的探寻顺序是:

 举一个简便的事例:

壹.当前目录

import easygui as g
import sys

while 1:
      g.msgbox ("嗨,欢迎进入第一个界面小游戏")
      msg = "请问你希望学到什么知识呢?"
      title = "游戏小互动"
      choices = ["谈恋爱","编程","demo","琴棋书画"]
      choices = g.choicebox(msg,title,choices)

      g.msgbox("您的选择是:"+str(choices),"结果")
      msg = "你希望重新开始小游戏吗?"
      title = "请选择"
      if g.ccbox(msg,title):
            pass
      else:
            sys.exit(0)

二.如果不在当前目录,Python则搜索在shell变量PYTHONPATH下的各样目录。

 4858.com 34

三.万一都找不到,Python会察看暗许路径。UNIX下,暗许路径一般为/usr/local/lib/python/

4858.com 35

模块搜索路径存款和储蓄在system模块的sys.path变量中。变量里带有当前目录,PYTHONPATH和由设置进程决定的暗中同意目录。

4858.com 36

1.1模块制作

4858.com 37

1.1.1概念本人的模块

 

在Python中,每一种Python文件都足以作为1个模块,模块的名字就是文本的名字。

*********************

例如有诸如此类二个文件test.py,在test.py中定义了函数add

4、修改私下认可设置

test.py

*********************

4858.com 38

 暗许情形下显得的对话框会相当大,而且字体也针锋相对难看。那里能够手动调整EsayGui的参数修改。

1.1.1调用本人定义的模块

修改地点为 C:\Python34\Lib\site-packages\easygui.py。

那么在任何文件中就足以先import
test,然后通过test.add(a,b)来调用了,当然也足以透过from test import
add来引入

变更对话框尺寸:找到def _ _choicebox,下边的 root_width    =
int((screen_width * 0.8))和 root_height   = int((screen_height *
0.五))分别改为root_width    = int((screen_width * 0.4))和
root_height   = int((screen_height * 0.25))

main.py

 

4858.com 39

EasyGui提供了丰盛多的机件供大家兑现一个一体化的界面程序,刚才演示了
msgbox、choicebox和ccbox的用法。关于越多的组装使用,大家能够参照小甲鱼翻译的《EasyGui学习文书档案》:

1.1.1测试模块

*******************************

在骨子里开中,当一个开发职员编写完3个模块后,为了让模块能够在类型中达到想要的功能,这一个开发人士会活动在py文件中添加壹些测试新闻

5、课时3五课后习题及答案

python在推行八个文书时有个变量__name__

*******************************

总结:

4858.com 404858.com 414858.com 42

·能够依照__name__变量的结果能够判明出,是一贯实施的python脚本如故被引进执行的,从而能够有选拔性的履行测试代码

4858.com 434858.com 444858.com 454858.com 464858.com 47

·__name__万壹写在被平素运转的主文件中,是”__main__”

4858.com 48

·要是写在被导入的文书中,运维主文件的时候,导入文本中的__name__是”模块的名字”

4858.com 494858.com 504858.com 514858.com 524858.com 534858.com 544858.com 554858.com 56

1.1模块中的__all__

 

·借使一个文书中有__all__变量,那么也就代表那几个变量中的成分,不会被from
xxx import *时导入

 

4858.com 57

 

4858.com 58

 

1.1python中的包

4858.com 59

1.1.1引入包

有二个模块成效某些关系

4858.com 60

所以将其放置同三个文书夹下

4858.com 61

选取import文件.模块 的主意导入

4858.com 62

利用from文件夹import模块 的章程导入

4858.com 63

在msg文件夹下创立__init__.py文件

4858.com 64

在__init__.py文件中写入

4858.com 65

再一次使用from文件夹import模块 的办法导入

4858.com 66

总结:

·包将有牵连的模块组织在一道,即松手同一个文本夹下,并且在这一个文件夹成立二个名称叫__init__.py文件,那么那么些文件夹就称之为包

可行防止模块名称抵触难点,让动用社团结构进一步鲜明

1.1.1__init__.py文件有啥样用

__init__.py控制着包的导入行为

1.1.1.1__init__.py为空

只是是把那么些包导入,不会导入包中的模块

1.1.1.1__all__

在__init__.py文件中,定义3个__all__变量,它控制着from包名import
*时导入的模块

1.1模块发表

壹.mymodule目录结构体如下:

4858.com 67

2.编辑setup.py文件

py_modules需指明所需包涵的py文件

4858.com 68

三.创设立模型块

python setup.py build

营造后目录结构

4858.com 69

四.生成揭橥压缩包

python setup.py sdist

卷入后,生成最后发表压缩包yongGe-一.0.tar.gz ,目录结构

4858.com 70

1.1模块安装、使用

1.1.1.1安装的不二等秘书诀

1.找到模块的压缩包

2.解压

三.进入文件夹

肆.执行命令python setup.py install

注意:

·如果在install的时候,执行目录安装,能够行使python setup.py install
–prefix=安装路径

1.1.1.1模块的引进

在先后中,使用from import即可到位对设置的模块使用

from模块名import模块名或然*

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 美高梅手机版4858 版权所有