用于读写xmltv文件的python模块

python-xmltv的Python项目详细描述


python xmltv是一个python模块,提供对xmltv数据的访问。xml tv是用于存储电视节目表的xml格式。


有关xmltv的更多信息,请访问http://membled.com/work/apps/xmltv/



对于旧版本,
elementtree是必需的,可以在
http://efffot.org/zone/element index.htm



usage
----
模块的用法通常是直接的:


import xmltv
from pprint import pprint

区域设置:
xmltv.locale='Latin-1'

等)
pprint(xmltv.read廑data(open(filename,'r')))

pprint(xmltv.read廑channels(open(filename,'r'))


pprint(xmltv.read廑programs(open(filename,'r'))

应该使用:

**读取数据**``(文件对象)->;dict``
从xmltv文件获取源和其他信息。

返回一个包含<;tv>;属性的字典,例如:

{date':u'20030702230041-0300',
"生成器信息名称":u'tv-grab'nav3.20030629,
"生成器信息URL":u'http://sourceforge.net/projects/xmltv',
"源信息名称":u'zap2it',
"源信息URL":u'http://www.zap2it.com'}

**读取频道**```(文件对象)->;列出`
获取所有频道。

返回散列列表,每个散列代表一个通道,例如:

[{display-name':[(u'channel 10 eltv',u')],
'id':u'c10eltv.zap2it.com'},
{display-name':[(u'channel 11 cbht',u')],
'icon':[{desc':',"src":u'http://tvlistings2.zap2it.com/tms_network_logos/cbc.gif'},
"id":u'c11cbht.zap2it.com'}]


**读取程序**````(文件对象)->;list`
获取所有程序。

返回一个散列列表,每个散列代表一个程序,例如::

[{Audio':[{Stereo':[u'Stereo']},
类别:[(u'biz',u'),(u'fin',u')],
频道:u'c23robtv.zap2it.com,
开始:u'200307020000adt',
停止:u'20030702003003000 adt',
标题:[(u'this week in business',u')]},
{‘音频’:[{‘立体声’:[u‘立体声’]},
‘频道’:u'c36wuhf.zap2it.com,
‘描述’:[(为了长大,乔治向前女友苏珊求婚,
‘u’)],
‘评分’:[{‘系统’:u'vchip,'value':u'pg'},
"开始":u'200307020000adt',
"停止":u'20030702003000 adt',
"子标题":[(u'the engagement,u')],
"副标题":[{'type':u'teletext'}],
"标题":[(u'seinfeld,u')]]

还有一个writer类。它应该始终写入正确的xmltv数据。所有
字符串(字典键除外)都应使用Unicode。

它包含以下方法:


**返回writer对象。

参数:

``fp`
要将xmltv数据写入

``encoding`
要使用的文本编码的文件对象。*默认为生成此数据的日期。*可选*

``soURCE INFO URL``
有关数据源的信息的URL。*可选的*

``源信息名称`
`源信息url```的可读描述。
*可选的*

``生成器信息url`
生成
xmltv文档的程序信息的url。*可选的*

``生成器信息名称`
对``generator信息URL````的可读描述。
*可选的*

**编写通道````(通道)`
编写通道字典

这里有一个示例通道字典::

{'display-name':[(u'channel 11 cbht,u'en')],
'icon':[{'src':u'http://tvlistings2.zap2it.com/tms_network_logos/cbc.gif'},
'id':u'c11cbbht.zap2it.com',
'url':u:'http://www.cbc.com'}

**编写程序**``(程序)`
节目字典

这里有一个示例节目字典::

{audio':[{stereore':u'stereore'}],
'category':[(u'comedy',u')],
'channel':u'c36wuhf.zap2it.com',
'country':[(u'usa',u')],
'credits':[{producer':[u'larry david'],'actor':[u'jerry seinfeld']],
date':[u'1995',
'desc':[(为了长大,乔治向前女友susan求婚,
u'),
'sception num':[(u'7)。1。1/1',u'xmltv'ns'),
语言:[(u'english,u'),
最后机会:[(u'hah!',u"")],
"长度":[{"单位":u"分钟","长度":22}],
"新建":[1],
"原始语言":[(u"英语",u"")],
"首映式":[(u"不是真的"。只是测试,'u'en')],
"先前显示的":[{'channel':u'c12whdh.zap2it.com',
"开始":u'19950921103000 adt'}],
"评分":[{'icon':[{'height':u'64',
"src":u'http://some.ratings/pg icon.png',
"width":u'64'}],
"system":u'vchip',
"value":u'pg'}],
"star rating":[{"icon":[{"height":u'32',
"src":u'http://some.star/icon.png',
"width":u'32'}],
"value":u'4/5'}],
"start":u'2003070200000adt',
"stop":u'20030702003000 adt',
'子标题':[(u'the engagement,u')],
'副标题':[{'type':u'teletext','language':(u'english,u')}],
'标题':[(u'seinfeld,u')],
'视频':[{'colour':1,'aspect':u'4:3',"present":1}}


**end**``()`
write end tag





changelog
=(jan su_nik的补丁)


1.4.1版
----
*更新了manifest.in以包含所有文档文件


1.4版
----
*更新以反映当前的xmltv dtd(igor sobolev的补丁)
*清理pypi版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java UDP十六进制数据按分隔符分割?   java将字符串与列表中的值进行比较<Integer>   在java中向新列表添加/复制对象   java MySQL语法错误异常   java如何在附加到文件时关闭JavaFX FileChooser的覆盖警告?   多线程如何在java中处理具有CompletableFuture的列表?   JAXWS项目的java重命名现在找不到WSDL   javascript翻译从哪里来?Javaservlet、tomcat和ExtJs Sencha应用程序   if语句如何向代码中添加工作if?JAVA   java如何确定需要哪些JAR?   在jPanel java netbeans上运行非常简单的swing视频播放器   swing Java jTable changeSelection,然后突出显示新选定的行   基于参数的java Spring Boot JPA本机查询非空检查   java从预使用图中删除节点   java BufferOverflowException在不同组件的画布中绘制时   尝试使用jersey在rest上发送pojo类对象作为响应时发生java内部服务器错误   java类集合如何将列表/集合转换为同步对象?通过什么机制?   java JOOX自动关闭XML标记   Java是按另一个具有不同对象的列表对列表进行排序的最佳方法   Hibernate读取XML时发生java错误