PYthon模块使用教程.docx

上传人:b****5 文档编号:14726903 上传时间:2023-06-26 格式:DOCX 页数:51 大小:38.74KB
下载 相关 举报
PYthon模块使用教程.docx_第1页
第1页 / 共51页
PYthon模块使用教程.docx_第2页
第2页 / 共51页
PYthon模块使用教程.docx_第3页
第3页 / 共51页
PYthon模块使用教程.docx_第4页
第4页 / 共51页
PYthon模块使用教程.docx_第5页
第5页 / 共51页
PYthon模块使用教程.docx_第6页
第6页 / 共51页
PYthon模块使用教程.docx_第7页
第7页 / 共51页
PYthon模块使用教程.docx_第8页
第8页 / 共51页
PYthon模块使用教程.docx_第9页
第9页 / 共51页
PYthon模块使用教程.docx_第10页
第10页 / 共51页
PYthon模块使用教程.docx_第11页
第11页 / 共51页
PYthon模块使用教程.docx_第12页
第12页 / 共51页
PYthon模块使用教程.docx_第13页
第13页 / 共51页
PYthon模块使用教程.docx_第14页
第14页 / 共51页
PYthon模块使用教程.docx_第15页
第15页 / 共51页
PYthon模块使用教程.docx_第16页
第16页 / 共51页
PYthon模块使用教程.docx_第17页
第17页 / 共51页
PYthon模块使用教程.docx_第18页
第18页 / 共51页
PYthon模块使用教程.docx_第19页
第19页 / 共51页
PYthon模块使用教程.docx_第20页
第20页 / 共51页
亲,该文档总共51页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

PYthon模块使用教程.docx

《PYthon模块使用教程.docx》由会员分享,可在线阅读,更多相关《PYthon模块使用教程.docx(51页珍藏版)》请在冰点文库上搜索。

PYthon模块使用教程.docx

PYthon模块使用教程

add模块

进度条模块

os模块

contacts模块

zlib模块

fy_marage模块

e32模块

sysinfo模块

正则表达式模块

Cfileman模块

appuifw模块

appuifw2模块

scrollpage模块

logs模块

codecs模块

struct模块

random模块

Forme32dbm的运用

调用系统进度条

marshal模块用法

add模块作者是飞影7610,含有一个Add主类,有三个功能,分别为:

1)返回路径--file方法

2)返回表情地址--face方法

3)打开帮助--about方法

1)file方法:

file(path,ext=[],title=’选择文件’.decode(’utf8’))

path为路径

ext为文件后缀

title为标题

2)face方法:

face(ini,mbm=None,title=’选择表情’.decode(’utf8’)):

ini为配置文件路径

mbm为None时既表示它的会路径名与ini为配置文件路径相同,只是后缀名为.mbm

title为标题

此方法通过传递一个ini配置文件全路径名来选择表情代码

ini配置文件格式为:

标题1,face/

标题2,face/

3)about方法:

about(path,title=’关于帮助’.decode(’utf8’)):

path为帮助文件全路径名

title为标题

 

进度条模块使用方法:

importprogressbartw

pb=()

(500)

foriinrange(500):

  (i)

()

注意500为你要的进度总数

(修改版)

作者:

飞影7610

progressbartw(修改版)

不用先定义窗口就可以使用了,可直接替换旧版本

示例代码如下(模块中已内置测试代码,可用ped直接测试):

defru(s):

return(’utf-8’)

#ProgressBarTW(1,1)

#参数1:

1为系统字体,窗口在中间(2为大字体,窗口偏下)

#参数2:

1为后台时隐藏进度条,0为不隐藏

#两个参数都可缺省,缺省值都是1

p=ProgressBarTW(1,1)

#((176,36))#可以自定义窗口大小

p2=ProgressBarTW(2,0)

#((176,36))#可以自定义窗口大小

(5)

#(5,ru(’当前任务进度’))#可自定义标题

(5)

foriinxrange(5):

  (i)

  =(ru(’任务进度(%d/%d)’))%(i1,5)

  (i)

()

()

 

注:

最好不要替换原来的模块,因为此修改版跟原版的功能存在差别,你可以放在脚本运行目录中来使用

 

下面列出了一些在os模块中比较有用的部分。

它们中的大多数都简单明了。

 

()函数得到当前工作目录,即当前Python脚本工作的目录路径。

 

()和()函数分别用来读取和设置环境变量。

 

()返回指定目录下的所有文件和目录名。

 

()函数用来删除一个文件。

 

()函数用来运行shell命令。

 

函数返回一个路径的目录名和文件名。

例如

 

'/home/swaroop/byte/code/')('/home/swaroop/byte/code','')

 

和函数分别检验给出的路径是一个文件还是目录。

类似地,函数用来检验给出的路径是否真地存在。

 

利用contacts模块可以选择联系人 

importcontacts,appuifw

db=()

names=[]

numbers=[]

foriindb:

                       #读取所有的联系人

 

 num=('mobile_number')

 ifnum:

 (num[0].value)#firstmobile

 else:

 (None)

i=(names)   #选择列表显示所有已读取

print'number=',numbers

 

加入flashy(扩展模块)可以发闪信:

importflashy

(u'0',u'Helloworld!

')

 

zlib模块主要用来压缩数据用的,主要讲一下可用函数。

1、compress()压缩数据。

2、decompress()解压指定已压缩数据。

3、crc32()计算校验CRC-32值。

shell界面

>>>importzlib

>>>s='licenseformoreinformationPed'

>>>len(s)

33

>>>t=(s)#压缩字符串s

>>>len(t)

36

由于原来的长度小于字典长度所以压缩后反而更大,但是文件大的话就会有压缩的效果

>>>u=(t)#解压字符串t

>>>printu

'licenseformoreinformationPd'

 

#一个字符串CRC-32值是不会变的,不管压缩前或解缩后,理论应该可以计算一个文件的CRC-32的值

>>>(s)

77

>>>(u)

77

如果两个返回值不同,说明解压时出了问题。

 

开发作者:

飞影7610

模块名称:

fy_marage

模块版本:

测试机型:

N7610

测试人员:

飞影7610

支持机型:

s60所有机型

作者邮箱:

作者

模块介绍:

这是一个类似文件管理的模块,集合了重命名、新建目睹、删除、快速找查与详细找查功能。

同时模块运用了全新的算法,打开目录时,速度特快,还可显示文件大小,加上运用了支持快捷键的图形菜单,运用起来更方便。

模块快捷键如下:

1键--过滤不含中文名的文件与文件夹

2~9键--快速找查0键--详细找查

c键--返回上一找查状态

*键(短按)--跳至上一页

*键(长按)--跳至顶端

#键(短按)--跳至下一页

#键(长按)--跳至底端

此模块只有一个Manager类,创建实例后,通过调用AskUser方法来获取路径。

AskUser方法包含5个参数,依次为:

(1)path:

设定初始目录,缺省值为空

(2)find:

设定要找查文件方式,有三种方式,’file’、’***’和’all’。

’file’方式下找查对象为文件,’***’方式下找查对象为文件夹,’all’方式下找查对象可以为文件也可以为文件夹。

缺省值为’file’

(3)ext:

设定找查文件对象的后缀名,只有在find设定为非’***’时才有效。

缺省值为[]

(4)mark:

设定是否为标记模式,标记模式下返回的是一个列表,返之为字符串,缺省值为False,即非标记模式

(5)back:

设定是否允许用户返回path的上级目录,缺省值为True,既允许返回上级目录。

按返回时,返回None

注意:

非标记模式下返回的字符串是没有定义decode(’utf8’)编码的,如果你要打印请加上.decode(’utf8’),否则令中文时会乱码

为何不加编码因为我们得到文件路径后,往往是要作为文件对象来处理,如果已经定义decode(’utf8’)编码了,又得定义encode(’utf8’)了

而标记模式下返回的列表中的元素也是没有定义编码的,这一点要注意。

 

e32模块提供了Symbian系统级的服务,可以实现UI以及标准Python库无法完成的功能。

模块函数

以下函数都定义在e32模块中(同时没有定义在任何类中):

ao_yield()

使高优先级AO进入等待,让步于其他对象的调度。

注意,可能造成UI运行在线程上下文环境中。

(注:

该函数一个常用的地方是配合键盘事件的响应。

例如,要求用户按某个特定的按键之后才能执行后续操作。

ao_sleep(interval[,callback])

(注:

中括号里面是可选项,下同。

ao_sleep(延时秒数数值,回调函数(可选))

延时interval秒,但不将其他调度挂起。

如果设定了callback,则延时结束后会调用callback。

ao_callgate(wrappedcallable)

将wrapped_callable封装到返回的callgate对象中(可在任何线程中调用)。

于是,调用callgate的同时也会自动在上下文环境中调用wrapped_callable,同时可传递自变量。

这是Symbian系统中典型的AO封装方法。

(注:

ao_callgate(封装对象))

drive_list()

返回可用的驱动器列表。

(注:

一般有手机闪存盘c、内存缓冲盘d、存储卡e、固件盘z)

file_copy(targetname,sourcename)

将源文件复制为目标文件。

必须是完整路径。

(注:

file_copy(目标文件路径,源文件路径))

in_emulator()

如果当前程序是在模拟器上运行则返回1,在手机上运行则返回0。

set_home_time(time)

设置手机时间。

pys60_version

返回PyS60的版本及附加信息。

示例:

>>>importe32

>>>

’final’

pys60_versioninfo

返回一个包含PyS60版本信息的五元组:

(主版本号、副版本号、附加版本号、发布类型、序列代号)除发布类型是字符串外,其他都是整型数据。

如果发布类型不是“final”则意味着这是一个还在开发中的版本。

例如:

PyS60将返回(1,2,0,’final’,0) 

 

s60_version_info

返回一个包含PyS60SDK版本信息的二元组。

其中:

•(1,2)代表S601st

•(2,0)代表S602nd

•(2,6)代表S602ndFP2

•(2,8)代表S602ndFP3

•(3,0)代表S603rd

Python代码

>>>importe32  

>>>  

’1.2.0final’  

>>>  

(1,2,0,’final’,0)  

>>>  

(2,0)  

>>>

is_ui_thread()

如果运行在UI线程上下文环境中则返回True,否则返回False。

start_exe(filename,command[,wait])

启动一个Symbian系统的可执行文件,并用其执行某些操作。

如果设定了wait,则会激活同步监测用于捕获程序的退出状态。

其中,正常退出返回0,异常退出返回2。

(注:

start_exe(完整的可执行文件路径(Unicode编码),命令参数,程序退出监测(可选))

start_server(filename)

以独立进程运行Python脚本,作为后台服务程序。

需要注意的是,这种情况下无法调用appuifw模块。

(注:

start_server(完整的可执行文件路径(Unicode编码))

reset_inactivity()

重置设备空闲时间。

与此同时,背景灯将被点亮。

(注:

设备空闲是指用户没有任何按键动作。

这个函数可以用来保持背景灯长亮。

inactivity()

返回用户上一次按键动作的时间。

 

e32—Symbian系统级的服务模块:

Ao_lock类

Ao_lock()类

生成Ao_lock实例。

此AO依赖于同步服务。

它可以在主线程上运行,但不影响UI事件响应。

如果程序的某个线程处在Ao_lock中,那么它就不能关闭。

而且,不得使用多个,否则会引起AssertionError。

Ao_lock实例支持下列方法:

wait()

处在Ao_lock中的线程将被挂起,直到获得释放信号。

需要注意,仅支持一个挂起,所以绝对不能递归调用。

只有产生lock对象的线程才能调用wait,而进入wait后,其他AO仍处于激活状态,所以UI不会被冻结。

然而这就面临一个问题,UI响应可能处在Ao_lock中的线程上下文环境中。

这一点必须在设计逻辑结构时考虑。

signal()

发出信号,释放被挂起的线程。

e32—Symbian系统级的服务模块:

Ao_timer类

 

可以说,Ao_timer是对的扩充。

因为,在产生的休眠没有结束的情况下用户强行退出程序,可能造成严重的后果。

Ao_timer正是为解决这个问题而设计的,它产生的休眠即使没有结束,用户也可以安全地退出程序。

Ao_timer()类

程序的某个线程处于Ao_timer休眠时,理论上不应该退出。

每个Ao_timer实例只能产生一个休眠。

生成Ao_timer实例。

此AO依赖于休眠服务。

它可以在主线程上运行,但不影响UI事件响应。

Ao_timer实例支持下列方法:

 

after(interval[,callback])

休眠interval秒,不影响程序调度。

如果设定了callback,则在休眠结束后调用callback。

(注:

after(休眠的秒数数值,回调函数(可选)))

cancel()

将尚未结束的休眠取消。

 

sysinfo—获取系统信息 

sysinfo模块用于获取S60手机的系统信息。

注意:

ringtype()不支持S601st机型。

sysinfo模块中含有下列函数:

battery()

获取当前电池的电量信息。

S602NDFP1(S60之前的手机满格为7,S602NDFP1之后的手机满格为100。

电量耗尽则为0。

对于模拟器,这个数值永远是0。

注意:

如果手机正在充电,那么就不能获得正确数值。

display_twips()

获取显示高宽值,以缇(twip)为单位。

关于缇的定义参阅章节10。

display_pixels() 

获取显示高宽值,以象素为单位。

free_drivespace()

{u’C:

’100}获取驱动器可用空间信息。

形如。

注意,盘符后面跟着一个冒号(:

imei() 

获取手机的IMEI码。

对于模拟器,永远是u’000000000000000’.

max_ramdrive_size()

获取手机支持的内存上限。

total_ram()

获取手机的内存总量。

free_ram()

获取手机的可用内存量。

total_rom()

获取手机的固件存储量。

ring_type()

获取当前响铃类型。

不支持S601st机型。

包括:

’normal’,’ascending’,’ringonce’,’beep’,’silent’. 

(注:

依次为“连续响铃、渐强、响铃一次、蜂鸣、无声”)

os_version()

获取手机的系统版本信息。

用三元组表示:

(主版本号,副版本号,附加版本号)

数值范围定义如下

主版本号:

0-127

副版本号:

0-99

附加版本号:

0-32767

signal_bars()

获取当前的网络信号强度。

用0-7表示:

0即无信号,7即信号最强。

对于模拟器,这个数值永远是0。

signal_dbm()

获取当前的网络信号强度,以dBm为单位。

对SDK以上版本有效。

对于模拟器,这个数值永远是0。

sw_version()

获取软件的版本信息。

形如:

u’V26-02-04NHL-10(c)NMP’

对于模拟器,这个返回信息永远是u’emulator’.

 

Cfileman模块

fileman=()

创建一个对象类FileMan,进一步,我们有以下属性

 

()返回字典的吊称和磁盘的大小(自由和总)在字节

 

(路径[,filteratt,filtersort,typeflag])返回一个元组的文件夹和文件选定的目录路径(路径必须以双引号)

(1)filteratt设置要显示的文件类型

EAttMatchMask-显示所有对象(文件夹,隐藏文件和系统文件),默认值

EAttNormal-任何文件或文件夹的隐藏和系统属性

EAttReadOnly-只读

EAttHidden-隐藏

EAttSystem-系统

EAttDir-目录

EAttArchive-存档

EAttMatchExclude-除去提供的属性外的所有文件,例如EAttMatchExclude|EAttHidden就是显示非隐藏的文件

EAttMatchExclusive-包括所有符合提供属性的文件,例如EAttMatchExclusive|EAttHidden显示隐藏的文件

(2)filtersort设置文件排序

ESortNone-默认

ESortByName-按名字

ESortByExt-按类型

ESortBySize-按文件大小

ESortByDate-按最后修改日期

EAscending-升序排列,默认

EDescending-降序

EDirDescending-只有文件夹中,使其降序排列

(3)typeflag管理的类型

返回的数据默认为2元组,文件夹和选定文件的目录,

如果您设置typeflag=0则函数返回一个元组

(路径,set_att[,clear_att])设置提供路径文件或文件的属性

set_att属性或clear_att删除

EAttReadOnly-只读

EAttHidden-隐藏

EAttSystem-系统

EAttArchive-存档

(路径)#的属性返回一个对象路径

(路径[,revflag])创建一个文件夹路径论点revflag负责递归设立失踪的文件夹,默认情况下它是0

(pathOld,pathNew)重命名对象

pathOld旧名字

pathNew新名字

(pathOld,pathNew[,revflag])复制文件

pathOldpathNew(路径必须以双引号)

revflag参数可能如下

EOverWrite-覆盖该文件

ERecurse-递归创建丢失的文件夹这可能是通过运营商共享|

(pathOld,pathNew[,revflag])

移动文件pathOldpathNew(路径必须以双引号)

revflag参数可能如下

EOverWrite-覆盖该文件是否已经存在

ERecurse-递归创建丢失的文件夹这可能是通过运营商共享

(路径)删除对象的路径,如果此目录被删除,所有的附件

()设置回调函数(通常通过一个参数的int类型)被称为当您删除,复制和移动文件时

如果您删除一个文件的功能是传递的值为0时,该文件删除,并取消1时完成如果您夊制/移动大文件的传输功能

skopirovavschihsya数据大小(方便进度栏)

 

appuifw模块提供了S60UI应用程序框架。

注 意:

此服务必须运行在主线程上下文环境,更准确地说是UI程序的初始化线程。

 

UI控件管理着所有的应用程序窗口,这是很显然的。

对于含有多个视图的程序,可以用导航面板的选项卡来切换视图。

对话框比普通UI控件享有更高优先级,这就是说,对话框往往都会置顶。

UI控件是由Python类型构建的,可用的类型有:

*Text

*Listbox

*Canvas

一旦构建了程序主体,相应的UI控件就会随之出现在屏幕上。

Form是一种万能的对话框类型。

Content_handler用于实现UI程序之间的高层共性对话,以期简化MIME类型的操作内容。

下列函数定义了常用的对话框:

*note

*query

*multi_query

*selection_list

*multi_selection_list

*popup_menu一旦执行相应函数,就会出现置顶的对话框,读取用户输入的信息以及确定或取消等操作。

然而Form是特例,它以实例操作,所以只有被执行以后才能产生对话框。

软键响应默认为S60平台的初始设定。

在没有对话框的情况下,按右软键退出,按左软键弹出选项菜单。

PyS60中可以非常简单地设计菜单和右软键事件,同样地,软键事件对话框也可以自行设计,比如OK和Cancel(中文机型显示为"确定"和"取消")。

但是如果要做出独特的对话效果,那么最好用Form。

模块函数

以下函数都定义在appuifw模块中(同时没有定义在任何类中):

available_fonts()

获取手机可用的字体列表(Unicode编码)。

query(label,type[,initial_value])

(shagon注:

query(提示信息,输入类型,缺省值(可选))

生成一个单域对话框。

label是需要显示的提示信息,type是要求输入的数据类型,有以下几种:

*“text“

*“code“

*“number“

*“date“

*“time“

*“query“

*“float“

如果设定了initial_value,它将作为输入数据的缺省值(注:

意思是如果用户不输入任何数据而直接按确定,那么就返回这个值)。

它有如下定义:

 

*对于文本输入框(“text“,“code“),缺省值是Unicode字符。

*对于数值输入框(“number“),缺省值是数字。

*对于日期输入框(“date“),缺省值是上个午夜与时间原点的间隔。

确认对话框(“query“)和时间输入框(“time“)都没有缺省值,它们分别返回True/None和相应的时间数值。

对于浮点数输入框(“float“)即便设定了默认值也无效。

所有的对话框,如果用户取消都返回None。

multi_query(label_1,label_2)

生成一个双域文本输入对话框(Unicode编码),返回二元组(label_1,label_2)。

如果取消则返回None。

(注:

multi_query(第一项提示信息,第二项提示信息)) 

note(text,[type,[global]])

生成一个提示对话框。

text(Unicode编码)为要显示的通知信息,type是提示类型,有“info“,“error“和“conf“(注:

依次为错误通知、信息通知、确认通知)。

缺省为“info“ 

如果设定了一个非零整数作为global,将生成一个全局通知。

意思是说即便是后台程序调用也会弹出提示对话框。

type支持的对话框与标准对话框完全一样。

(注:

note(通知信息,通知类型(缺省为“info“),全局参数(可选))) 

popup_menu(list[,label])

生成一个弹出菜单列表。

支持一元组或多元组(必须是Unicode编码)。

一元菜单直接显示全部项目,

多元菜单根据用户操作显示相应项目。

返回选中的项目,如果取消则返回None。

(shagon注:

popup_menu(菜单表项,菜单主标题(可选))

selection_list(choices[,search_eld=0]) 

生成一个选择

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2