<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>潘锦的空间 &#187; Python</title>
	<atom:link href="https://www.phppan.com/tag/python/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.phppan.com</link>
	<description>SaaS SaaS架构 团队管理 技术管理 技术架构 PHP 内核 扩展 项目管理</description>
	<lastBuildDate>Sun, 10 May 2026 02:26:45 +0000</lastBuildDate>
	<language>zh-CN</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=3.9.40</generator>
	<item>
		<title>Python核心编程读书笔记：第4章，Python对象</title>
		<link>https://www.phppan.com/2010/08/core-python-programming-2-chapter4-object/</link>
		<comments>https://www.phppan.com/2010/08/core-python-programming-2-chapter4-object/#comments</comments>
		<pubDate>Sun, 29 Aug 2010 14:44:11 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[程序相关]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[读书笔记]]></category>

		<guid isPermaLink="false">http://www.phppan.com/?p=937</guid>
		<description><![CDATA[第四章学习笔记 【4.1 python对象】 1、Python使用对象模型来存储数据。构造任何类型的值都是一个 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>第四章学习笔记<br />
<strong>【4.1 python对象】</strong><br />
1、Python使用对象模型来存储数据。构造任何类型的值都是一个对象。<br />
2、所有的python对象都拥有三个特性：身份，类型和值；这三个特性在对象创建的进修就被赋值了，除了值以外，其它两个都是只读的。但是某些类的类型也是可以改变的。<br />
3、Python使用句点(.)标记法来访问属性</p>
<p><strong>【4.3 其他内建类型】</strong><br />
1、通过调用type()函数你能够得到特定对象的类型信息<br />
2、当使用Python扩展的切片语法时，就会创建切片对象<br />
3、省略对象用于扩展切片语法中，起记号作用<br />
4、xrange()函数是range()的兄弟版本，用于需要节省内存使用或range()无法完成的超大数据集场合</p>
<p><strong>【4.5 标准类型操作符】</strong><br />
1、Python中多个比较操作可以在同一行进行，求值顺序为从左到右</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff4500;">3</span> <span style="color: #66cc66;">&lt;</span> <span style="color: #ff4500;">4</span> <span style="color: #66cc66;">&lt;</span> <span style="color: #ff4500;">7</span> 与 <span style="color: black;">&#40;</span><span style="color: #ff4500;">3</span> <span style="color: #66cc66;">&lt;</span> <span style="color: #ff4500;">4</span><span style="color: black;">&#41;</span> <span style="color: #ff7700;font-weight:bold;">and</span> <span style="color: black;">&#40;</span><span style="color: #ff4500;">4</span> <span style="color: #66cc66;">&lt;</span> <span style="color: #ff4500;">7</span><span style="color: black;">&#41;</span>相同</pre></td></tr></table></div>

<p>这说明其本质上是多个隐式的and连接起来的多个表达式</p>
<p>2、比较操作是针对对象的值进行的。<br />
3、foo1 = foo2 = 4.3   创建一个4.3的数字对象，然后将这个对象的引用赋值给foo1和foo2，foo1和foo2指向同一个对象<br />
4、Python是通过传递引用来处理对象<br />
5、Python提供了is 和is not 操作符来测试两个变量是否指向同一个对象 如： a is b 等价于 id(a) == id(b)<br />
6、整型和字符串对象是不可变对象，所以Python会很高效的缓存它们，但是在没有任何引用指向它时，这个字符串所占的空间会被回收</p>
<p><strong>【4.6 标准类型内建函数】</strong><br />
1、type()接受一个对象作为参数，并返回它的类型，它的返回值是一个类型对象<br />
2、cmp()用于比较两个对象obj1和obj2。如果是用户自定义对象，cmp()会调用访类的特殊方法__cmp__()。<br />
3、str()和repr()和反引号操作符(&#8220;)可以方便地以字符串的方式获取对象的内容、类型、数值属性等信息。<br />
    repr()和&#8220;做提完全一样的事情，它们返回一个对象的“官方”的字符串，绝大多数情况下可以eval()重新得到该对象，而str()致力于生成一个对象的可读性好的字符串表示 。<br />
4、Python不支持方法或函数重载<br />
5、布尔比较总是返回True或False<br />
6、所有的内建类型都是类，在这基础上，所有的所谓内建转换函数都成了工厂函数，虽然它们看上去有点像函数，实质上他们是类。当调用它们时，实际上是生成了该类型的一个实例，就像工厂生产货物一样。</p>
<p><strong>【4.8 标准类型的分类】</strong><br />
1、字符串是一个自我包含的文字类型<br />
2、以存储模型为标准的类型分类，标量/原子类型（数值，字符串）和容器类型(列表，元组、字典)<br />
3、以更新模型为标准的类型分类，可变类型（列表、字典）和不可变类型（数字，字符串，元组）<br />
4、以访问模型为标准的类型分类，直接访问（数字），顺序访问（字符串，列表，元组）和映射访问（字典）</p>
<p><strong>【4.9 不支持的类型】</strong><br />
1、Python的整型实现等同于C语言的长整型<br />
2、Python的浮点类型实际上是C语言的双精度浮点类型 </p>
]]></content:encoded>
			<wfw:commentRss>https://www.phppan.com/2010/08/core-python-programming-2-chapter4-object/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python核心编程读书笔记：第二章，快速入门</title>
		<link>https://www.phppan.com/2010/08/core-python-programming-1-chapter2/</link>
		<comments>https://www.phppan.com/2010/08/core-python-programming-1-chapter2/#comments</comments>
		<pubDate>Mon, 09 Aug 2010 00:59:20 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[程序相关]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[读书笔记]]></category>

		<guid isPermaLink="false">http://www.phppan.com/?p=881</guid>
		<description><![CDATA[第二章学习笔记 【2.1 使用print输出】 print调用str()函数显示对象 print默认在输出的内 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>第二章学习笔记<br />
<strong>【2.1 使用print输出】</strong><br />
print调用str()函数显示对象<br />
print默认在输出的内容后面添加回车，如果不想输出回车，在输出内容后面添加逗号，如果要输出多个内容，使用逗号连接，不过如果带逗号的print语句会在输出的元素之间自动添加一个空格<br />
print与字符串格式操作符（%）结合使用，可实现字符串操作功能（这一点和C语言的printf()函数非常相似）</p>
<p><strong>【2.2 程序输入和raw_input()内建函数】</strong><br />
raw_input读取标准输入，并将读取到的数据赋值给指定的变量，如:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="python" style="font-family:monospace;"><span style="color: #dc143c;">user</span> <span style="color: #66cc66;">=</span> <span style="color: #008000;">raw_input</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'please input name'</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #dc143c;">user</span>
<span style="color: #008000;">help</span><span style="color: black;">&#40;</span><span style="color: #008000;">raw_input</span><span style="color: black;">&#41;</span></pre></td></tr></table></div>

<p>Help on built-in function raw_input in module __builtin__:</p>
<p>raw_input(&#8230;)<br />
    raw_input([prompt]) -> string<br />
raw_input从标准输入读取一个字符串并自动删除串尾的换行字符</p>
<p><strong>【2.3 注释】</strong><br />
单行注释： Python使用#符号标示注释，从#开始，直到一行结束的内容都是注释<br />
多行注释：使用三个单引号或双引号<br />
文档注释：<br />
函数内部的第一行开始的字符串为 DocStrings<br />
DocStrings 一般为多行<br />
DocString 为三引号扩起来的多行字符串<br />
第一行为概述<br />
第二行为空行<br />
第三行开始是详细描述<br />
DocStrings 的存在证明了函数也是对象<br />
函数的 __doc__ 属性为该 DocStrings<br />
例如 print printTest.__doc__ 为打印 printTest 函数的 DocStrings<br />
如下所示代码：</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
</pre></td><td class="code"><pre class="python" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">#!/usr/bin/python</span>
<span style="color: #808080; font-style: italic;"># -*- coding: utf-8 -*-</span>
u<span style="color: #483d8b;">&quot;&quot;&quot;文档注释 文档字符串&quot;&quot;&quot;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">sys</span>
__author__ <span style="color: #66cc66;">=</span> <span style="color: #483d8b;">&quot;phppan&quot;</span>
__date__ <span style="color: #66cc66;">=</span> <span style="color: #483d8b;">&quot;$2010-8-1 17:54:58$&quot;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> printTest<span style="color: black;">&#40;</span><span style="color: #dc143c;">string</span><span style="color: black;">&#41;</span>:
    u<span style="color: #483d8b;">'''
        printTest 函数注释 文档字符串
        注释第二行
    '''</span>
    <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #dc143c;">string</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">if</span> __name__ <span style="color: #66cc66;">==</span> <span style="color: #483d8b;">&quot;__main__&quot;</span>:
&nbsp;
    printTest<span style="color: black;">&#40;</span><span style="color: #483d8b;">'hello world'</span><span style="color: black;">&#41;</span>
    printTest<span style="color: black;">&#40;</span>__doc__<span style="color: black;">&#41;</span>  <span style="color: #808080; font-style: italic;">#单行注释</span>
    <span style="color: #483d8b;">'''
多行注释
    '''</span>
    printTest<span style="color: black;">&#40;</span>printTest.__doc__<span style="color: black;">&#41;</span>
    <span style="color: #ff7700;font-weight:bold;">print</span> __date__
    <span style="color: #ff7700;font-weight:bold;">print</span> __author__</pre></td></tr></table></div>

<p>中文注释问题：<br />
Python里有两种字符串，一种是Unicode字符串，一种是一般的字符串。<br />
Python里字符串的encode函数负责将unicode字符串转化为另外一种Unicode编码形式。<br />
decode函数负责将一般的字符串进行解码，结果为unicode编码。还有一点是unicode（）负责将一般的字符串解码为指定格式的unicode字符串。<br />
如果字符串是这样定义：s=&#8217;中文&#8217;<br />
如果是在utf8的文件中，该字符串就是utf8编码，如果是在gb2312的文件中，则其编码为gb2312。<br />
如果字符串是这样定义：s=u&#8217;中文&#8217;<br />
则该字符串的编码就被指定为unicode了，即python的内部编码<br />
isinstance(s, unicode) #用来判断是否为unicode</p>
<p>print会对输出的文本做自动的编码转换， print转换的目的编码和环境变量有关，Windows XP是转换为gbk的。可以使用用locale模块的getdefaultlocale方法获得当前环境的编码。而print在输出时会把字符串自动转换为这种编码。</p>
<p><strong>【2.4 操作符】</strong><br />
对于一些数据类型，有些操作符是被重载了的，比如字符串和列表<br />
对于不等于操作符，python支持两种 != 和 <>，建议使用 !=<br />
合理使用括号，增强代码的可读性</p>
<p><strong>【2.5 变量和赋值】</strong><br />
类C语言<br />
以字母开头，可以是数字、字母或下划线<br />
大小写敏感<br />
不需要预先声明变量的类型，变量的类型和值在赋值那一刻被初始化<br />
不支持自增1和自减1操作符</p>
<p><strong>【2.6 数字】</strong><br />
Python支持5种数字类型：有符号整形、长整型、布尔、浮点和复数<br />
其中长整型类似于java中的BigInteger类型，它仅受限于用户计算机的虚拟内存总数<br />
decimal类型需要先导入decimal模块才可以使用</p>
<p><strong>【2.7 字符串】</strong><br />
Python中字符串被定义为引号之间的字符集合。Python支持成对的单引号、双引号和三引号<br />
使用索引操作符（{[]）和切片操作符（[:]）可以得到子串<br />
字符串有其我有的索引规则：第一个字符的索引是0(和C语言类似)，最后一个字符的索引是-1<br />
加号（+）用于字符串连接运算 星号（*）用于字符串重复</p>
<p><strong>【2.8 列表和元组】</strong><br />
从0开始索引，可以存储不同类型的对象<br />
列表元素使用中括号（[]）包裹，元素的个数和元素的值都可以改变<br />
元组元素使用小括号（()）包裹，不可以更改，可以看成是只读的列表</p>
<p><strong>【2.9 字典】</strong><br />
字典是Python中的映射数据类型，工作原理类似于Hash表，可以将其作为PHP的数组使用<br />
字典由键值对构成，几乎所有对象都可以用作键，不过一般使用数字或字符串</p>
<p><strong>【2.10 代码块及缩进对齐】</strong><br />
Python通过缩进对齐表达代码逻辑</p>
<p><strong>【2.11 if语句】</strong><br />
if expression:<br />
    if_suite<br />
elif expression2:<br />
    elif_suite<br />
else:<br />
    else_suite</p>
<p><strong>【2.12 while循环】</strong><br />
while expresion:<br />
    while_suite</p>
<p><strong>【2.13 for循环和range()内建函数】</strong><br />
for循环与传统的for循环不同，更像是PHP中的foreach</p>
<p>for eachNum in range(3):<br />
    print eachNum</p>
<p><strong>【2.14 列表解析】</strong><br />
[x ** 2 for x in range(4)]<br />
[x ** 2 for x in range(4) if x ** 2 > 1]</p>
<p><strong>【2.15 文件和内建函数file(),open()】</strong><br />
handle = open(filenaem, mode = &#8216;r&#8217;)  返回一个文件句柄</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="python" style="font-family:monospace;">    filename <span style="color: #66cc66;">=</span> <span style="color: #008000;">raw_input</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Enter file name:'</span><span style="color: black;">&#41;</span>
    fobj <span style="color: #66cc66;">=</span> <span style="color: #008000;">open</span><span style="color: black;">&#40;</span>filename<span style="color: #66cc66;">,</span> <span style="color: #483d8b;">'r'</span><span style="color: black;">&#41;</span>
    <span style="color: #ff7700;font-weight:bold;">for</span> eachLine <span style="color: #ff7700;font-weight:bold;">in</span> fobj:
        <span style="color: #ff7700;font-weight:bold;">print</span> eachLine<span style="color: #66cc66;">,</span>
    fobj.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></pre></td></tr></table></div>

<p><strong>【2.16 错误和异常】</strong><br />
将代码“封装”在try-except语句当中，就可以增加错误检测及异常处理</p>
<p><strong>【2.17 函数】</strong><br />
一个函数的语法由def关键字及紧随其后的函数名，再加上该函数所需要的参数组成<br />
def function_name([arguments]):<br />
    &#8220;optional documentation string&#8221;<br />
    function_suite</p>
<p>函数的参数可以有一个默认值</p>
<p><strong>【2.18 类】</strong><br />
类是面向对象核心，它扮演相关数据及逻辑容器的角色。<br />
定义类：<br />
class ClassName(base_class[es]):<br />
    &#8220;optional documentation string&#8221;<br />
    static_memeber_declarations<br />
    method_declarations</p>
<p>所有名字开始和结束都有两个下划线的方法都是特殊方法<br />
self是类实例自身的引用<br />
当一个类的实例被创建时，__init__()就会被自动调用</p>
<p><strong>【2.19 模块】</strong><br />
模块是一种组织形式，它将彼此有关系的python代码组织到一个个独立文件当中。模块可以包含可执行代码、函数和类，或者这些东西的组合。<br />
导入模块：import module_name<br />
访问模块函数或模块变量：</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="python" style="font-family:monospace;">    <span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">sys</span>
    <span style="color: #dc143c;">sys</span>.<span style="color: black;">stdout</span>.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'hello'</span><span style="color: black;">&#41;</span>
    <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #dc143c;">sys</span>.<span style="color: #dc143c;">platform</span></pre></td></tr></table></div>

<p><strong>【2.20 实用函数】</strong><br />
dir([obj])  显示对象的属性，如果没有提供参数，则显示全局变量的名字<br />
help([obj]) 以一种整齐美观的形式，，显示对象的文档字符串，如果没有提供任何参数，则会进入交互帮助<br />
int(obj)  将一个对象转化成整形<br />
len(obj)  返回对象的长度<br />
open(fn, mode) 以mode方式打开一个文件名为fn的文件<br />
range([start,]stop[,step]) 返回一个整形列表，起始值为start,结束值为stop -1,start默认值为0，step默认值为1<br />
str(obj)    将一个对象转换为字符串<br />
type(obj)   返回对象的类型（返回值本身是一个type对象）</p>
]]></content:encoded>
			<wfw:commentRss>https://www.phppan.com/2010/08/core-python-programming-1-chapter2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在nokia s60中使用python将收件箱中的内容导出保存为文本</title>
		<link>https://www.phppan.com/2010/03/python-nokia-s60-inbox-export/</link>
		<comments>https://www.phppan.com/2010/03/python-nokia-s60-inbox-export/#comments</comments>
		<pubDate>Sun, 21 Mar 2010 04:55:24 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[程序相关]]></category>
		<category><![CDATA[nokia s60]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.phppan.com/?p=609</guid>
		<description><![CDATA[在nokia s60中使用python将收件箱中的内容导出保存为文本 由于手机收到139邮箱的邮件信息比较多， [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>在nokia s60中使用python将收件箱中的内容导出保存为文本</p>
<p>由于手机收到139邮箱的邮件信息比较多，想把它删除，但是又不能全选后全部删除<br />
所以使用python写了一个简单的程序读取收件箱的内容，并将其存储到指定位置<br />
并且根据联系人的手机号码分别创建文件</p>
<p>【程序说明】<br />
此程序是根据s60提供的python API实现<br />
其中用到了inbox和contacts</p>
<p>1、程序取收件箱的所有短信，<br />
2、遍历，针对每条短信，<br />
3、通过contacts对象取出联系人的电话，<br />
4、将短信内容写入以联系人电话命名的txt文件中<br />
5、删除短信</p>
<p>【代码】</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
</pre></td><td class="code"><pre class="python" style="font-family:monospace;">&nbsp;
<span style="color: #ff7700;font-weight:bold;">import</span> inbox
<span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">datetime</span> <span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">datetime</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">time</span>
<span style="color: #ff7700;font-weight:bold;">import</span> contacts
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> get_mobile_number_by_name<span style="color: black;">&#40;</span>db<span style="color: #66cc66;">,</span> name<span style="color: black;">&#41;</span>:
    found <span style="color: #66cc66;">=</span> db.<span style="color: black;">find</span><span style="color: black;">&#40;</span>name<span style="color: black;">&#41;</span>
&nbsp;
    <span style="color: #808080; font-style: italic;">#如果在联系人中可以找到，则返回号码，否则直接返回name</span>
    mobile_number <span style="color: #66cc66;">=</span> found<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'mobile_number'</span><span style="color: black;">&#41;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>.<span style="color: black;">value</span> <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #008000;">len</span><span style="color: black;">&#40;</span>found<span style="color: black;">&#41;</span>  <span style="color: #66cc66;">&gt;</span> <span style="color: #ff4500;">0</span> <span style="color: #ff7700;font-weight:bold;">else</span> name
    <span style="color: #ff7700;font-weight:bold;">return</span> mobile_number
&nbsp;
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> write_mess<span style="color: black;">&#40;</span>name<span style="color: #66cc66;">,</span> mess<span style="color: black;">&#41;</span>:
    filename <span style="color: #66cc66;">=</span> <span style="color: #483d8b;">'e:/data/inbox/'</span> + name + <span style="color: #483d8b;">'.txt'</span>
    f <span style="color: #66cc66;">=</span> <span style="color: #008000;">open</span><span style="color: black;">&#40;</span>filename<span style="color: #66cc66;">,</span> <span style="color: #483d8b;">'a+'</span><span style="color: black;">&#41;</span>
    f.<span style="color: black;">write</span><span style="color: black;">&#40;</span>mess.<span style="color: black;">encode</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'utf-8'</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
    f.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
inbox_obj <span style="color: #66cc66;">=</span> inbox.<span style="color: black;">Inbox</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
m <span style="color: #66cc66;">=</span> inbox_obj.<span style="color: black;">sms_messages</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
db <span style="color: #66cc66;">=</span> contacts.<span style="color: #008000;">open</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
k <span style="color: #66cc66;">=</span> <span style="color: #ff4500;">0</span>
<span style="color: #ff7700;font-weight:bold;">for</span> i <span style="color: #ff7700;font-weight:bold;">in</span> m:
    k +<span style="color: #66cc66;">=</span> <span style="color: #ff4500;">1</span>
    name <span style="color: #66cc66;">=</span> inbox_obj.<span style="color: black;">address</span><span style="color: black;">&#40;</span>i<span style="color: black;">&#41;</span>
    content <span style="color: #66cc66;">=</span> inbox_obj.<span style="color: black;">content</span><span style="color: black;">&#40;</span>i<span style="color: black;">&#41;</span>
&nbsp;
    <span style="color: #808080; font-style: italic;">#格式化时间</span>
    format <span style="color: #66cc66;">=</span> <span style="color: #483d8b;">'%Y-%m-%d %H:%M:%S'</span>
    result <span style="color: #66cc66;">=</span> <span style="color: #dc143c;">datetime</span>.<span style="color: black;">fromtimestamp</span><span style="color: black;">&#40;</span>inbox_obj.<span style="color: #dc143c;">time</span><span style="color: black;">&#40;</span>i<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
    ltime <span style="color: #66cc66;">=</span> result.<span style="color: black;">strftime</span><span style="color: black;">&#40;</span>format<span style="color: black;">&#41;</span>
&nbsp;
    <span style="color: #808080; font-style: italic;">#输出内容，调试用</span>
    <span style="color: #ff7700;font-weight:bold;">print</span> name<span style="color: #66cc66;">,</span> content<span style="color: #66cc66;">,</span> ltime
    mobile_number <span style="color: #66cc66;">=</span> get_mobile_number_by_name<span style="color: black;">&#40;</span>db<span style="color: #66cc66;">,</span> name<span style="color: black;">&#41;</span>
&nbsp;
    <span style="color: #808080; font-style: italic;">#对于</span>
    <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: black;">&#40;</span>mobile_number<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span>:<span style="color: #ff4500;">6</span><span style="color: black;">&#93;</span> <span style="color: #66cc66;">!=</span> <span style="color: #483d8b;">'106581'</span><span style="color: black;">&#41;</span>:
        write_mess<span style="color: black;">&#40;</span>mobile_number<span style="color: #66cc66;">,</span> ltime + content + <span style="color: #483d8b;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span>
&nbsp;
    <span style="color: #808080; font-style: italic;"># 删除短信</span>
    inbox_obj.<span style="color: black;">delete</span><span style="color: black;">&#40;</span>i<span style="color: black;">&#41;</span>
&nbsp;
    <span style="color: #808080; font-style: italic;">#一次执行10条，此处为测试用</span>
    <span style="color: #ff7700;font-weight:bold;">if</span> k <span style="color: #66cc66;">&gt;</span> <span style="color: #ff4500;">10</span>:
        <span style="color: #ff7700;font-weight:bold;">break</span></pre></td></tr></table></div>

<p><strong>注意：此程序为个人所用，会删除收件箱内的所有短信，如果出现问题本人概不负责^_^!</strong><br />
此程序在nokia e63型号机器上测试通过，使用python1.9.7 for s60<br />
<br />
EOF</p>
]]></content:encoded>
			<wfw:commentRss>https://www.phppan.com/2010/03/python-nokia-s60-inbox-export/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用python计算项目的行数</title>
		<link>https://www.phppan.com/2009/12/python-svn-line/</link>
		<comments>https://www.phppan.com/2009/12/python-svn-line/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 05:17:14 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[程序相关]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[python应用]]></category>
		<category><![CDATA[SVN]]></category>

		<guid isPermaLink="false">http://www.phppan.com/?p=409</guid>
		<description><![CDATA[使用python计算项目的行数 因为要计算项目的行数，项目版本管理使用的是SVN，在网上找了下没有可用的，只有 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>使用python计算项目的行数<br />
因为要计算项目的行数，项目版本管理使用的是SVN，在网上找了下没有可用的，只有下面的一个python配置好了，<br />
<a href="http://tctianchi.yo2.cn/articles/svn代码贡献统计工具.html">http://tctianchi.yo2.cn/articles/svn代码贡献统计工具.html</a></p>
<p>代码的原理是使用svn blame，遍历所指定的目录的每一个文件，分析每一行的作者是谁。</p>
<p>遇到如下问题：<br />
1、SVN客户端没有安装<br />
2、SVN版本错误（太低了）,项目上是1.6.2，我安装的客户端是1.6.6<br />
SVN客户端地址：<a href="http://www.open.collab.net/downloads/subversion/">http://www.open.collab.net/downloads/subversion/</a></p>
<p>需要安装python环境，我本地是2.5</p>
<p>/*忽然把网上的另一个也跑起来了，这个是按天统计代码行数：实现原理类似，只是多了一个版本更新的和日志分析*/<br />
将源码中的SVN命令地址修改正确：<br />
以类似于： svnLogCommand = r&#8217;&#8221;C:\Program Files\CollabNet\Subversion Client\svn&#8221; log %s&#8217;<br />
单引号内的双引号是必须的</p>
<p><a href="http://www.javaeye.com/topic/326979">http://www.javaeye.com/topic/326979</a></p>
]]></content:encoded>
			<wfw:commentRss>https://www.phppan.com/2009/12/python-svn-line/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
