PYthon模块使用教程.docx
- 文档编号:14726903
- 上传时间:2023-06-26
- 格式:DOCX
- 页数:51
- 大小:38.74KB
PYthon模块使用教程.docx
《PYthon模块使用教程.docx》由会员分享,可在线阅读,更多相关《PYthon模块使用教程.docx(51页珍藏版)》请在冰点文库上搜索。
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])
生成一个选择
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PYthon 模块 使用 教程