<?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>QLJ's Blog &#187; python</title>
	<atom:link href="http://qlj.sh.cn/tag/python/feed/" rel="self" type="application/rss+xml" />
	<link>http://qlj.sh.cn</link>
	<description>搜集网络信息,风云磅实验</description>
	<lastBuildDate>Thu, 12 Apr 2012 06:50:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>python time模块详解(转)</title>
		<link>http://qlj.sh.cn/python/20100402/python-time/</link>
		<comments>http://qlj.sh.cn/python/20100402/python-time/#comments</comments>
		<pubDate>Thu, 01 Apr 2010 19:29:16 +0000</pubDate>
		<dc:creator>qlj</dc:creator>
				<category><![CDATA[python]]></category>
		<category><![CDATA[time]]></category>

		<guid isPermaLink="false">http://qlj.sh.cn/?p=1065</guid>
		<description><![CDATA[刚开始学习python 把相关的内容做上记号 python 的内嵌time模板翻译及说明 一、简介 time模块提供各种操作时间的函数 说明：一般有两种表示时间的方式: 第一种是时间戳的方式(相对于1970.1.1 00:00:00以秒计算的偏移量),时间戳是惟一的 第二种以数组的形式表示即(struct_time),共有九个元素，分别表示，同一个时间戳的struct_time会因为时区不同而不同 year (four digits, e.g. 1998) month (1-12) day (1-31) hours (0-23) minutes (0-59) seconds (0-59) weekday (0-6, Monday is 0) Julian day (day in the year, 1-366) DST (Daylight Savings Time) flag (-1, 0 or 1) 是否是夏令时 If the DST flag is 0, the time [...]]]></description>
			<content:encoded><![CDATA[<p>刚开始学习python<br />
把相关的内容做上记号</p>
<p>python 的内嵌time模板翻译及说明</p>
<p>一、简介</p>
<p>  time模块提供各种操作时间的函数<br />
  说明：一般有两种表示时间的方式:<br />
       第一种是时间戳的方式(相对于1970.1.1 00:00:00以秒计算的偏移量),时间戳是惟一的<br />
       第二种以数组的形式表示即(struct_time),共有九个元素，分别表示，同一个时间戳的struct_time会因为时区不同而不同<br />
<span id="more-1065"></span><br />
    year (four digits, e.g. 1998)<br />
    month (1-12)<br />
    day (1-31)<br />
    hours (0-23)<br />
    minutes (0-59)<br />
    seconds (0-59)<br />
    weekday (0-6, Monday is 0)<br />
    Julian day (day in the year, 1-366)<br />
    DST (Daylight Savings Time) flag (-1, 0 or 1) 是否是夏令时<br />
    If the DST flag is 0, the time is given in the regular time zone;<br />
    if it is 1, the time is given in the DST time zone;<br />
    if it is -1, mktime() should guess based on the date and time.</p>
<p>二、函数介绍<br />
1.asctime()<br />
  asctime([tuple]) -> string<br />
  将一个struct_time(默认为当时时间)，转换成字符串<br />
        Convert a time tuple to a string, e.g. &#8216;Sat Jun 06 16:26:11 1998&#8242;.<br />
        When the time tuple is not present, current time as returned by localtime()<br />
        is used.</p>
<p>2.clock()<br />
  clock() -> floating point number<br />
  该函数有两个功能，<br />
  在第一次调用的时候，返回的是程序运行的实际时间；<br />
  以第二次之后的调用，返回的是自第一次调用后,到这次调用的时间间隔</p>
<p>  示例：</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">view plaincopy to clipboardprint<span style="color: #66cc66;">?</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">time</span>  
<span style="color: #ff7700;font-weight:bold;">if</span> __name__ == <span style="color: #483d8b;">'__main__'</span>:  
    <span style="color: #dc143c;">time</span>.<span style="color: black;">sleep</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>  
    <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;clock1:%s&quot;</span> <span style="color: #66cc66;">%</span> <span style="color: #dc143c;">time</span>.<span style="color: black;">clock</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>  
    <span style="color: #dc143c;">time</span>.<span style="color: black;">sleep</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>  
    <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;clock2:%s&quot;</span> <span style="color: #66cc66;">%</span> <span style="color: #dc143c;">time</span>.<span style="color: black;">clock</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>  
    <span style="color: #dc143c;">time</span>.<span style="color: black;">sleep</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>  
    <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;clock3:%s&quot;</span> <span style="color: #66cc66;">%</span> <span style="color: #dc143c;">time</span>.<span style="color: black;">clock</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></pre></div></div>

<p>  输出：<br />
  clock1:3.35238137808e-006<br />
  clock2:1.00004944763<br />
  clock3:2.00012040636<br />
  其中第一个clock输出的是程序运行时间<br />
  第二、三个clock输出的都是与第一个clock的时间间隔</p>
<p>3.sleep(&#8230;)<br />
  sleep(seconds)<br />
  线程推迟指定的时间运行，经过测试，单位为秒，但是在帮助文档中有以下这样一句话，这关是看不懂<br />
  “The argument may be a floating point number for subsecond precision.”</p>
<p>4.ctime(&#8230;)<br />
  ctime(seconds) -> string<br />
  将一个时间戳(默认为当前时间)转换成一个时间字符串<br />
  例如：</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">  <span style="color: #dc143c;">time</span>.<span style="color: black;">ctime</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></pre></div></div>

<p>  输出为：&#8217;Sat Mar 28 22:24:24 2009&#8242;</p>
<p>5.gmtime(&#8230;)<br />
  gmtime([seconds]) -> (tm_year, tm_mon, tm_day, tm_hour, tm_min,tm_sec, tm_wday, tm_yday, tm_isdst)<br />
  将一个时间戳转换成一个UTC时区(0时区)的struct_time，如果seconds参数未输入，则以当前时间为转换标准</p>
<p>6.localtime(&#8230;)<br />
  localtime([seconds]) -> (tm_year,tm_mon,tm_day,tm_hour,tm_min,tm_sec,tm_wday,tm_yday,tm_isdst)<br />
  将一个时间戳转换成一个当前时区的struct_time，如果seconds参数未输入，则以当前时间为转换标准</p>
<p>7.mktime(&#8230;)<br />
  mktime(tuple) -> floating point number<br />
  将一个以struct_time转换为时间戳</p>
<p>8.strftime(&#8230;)<br />
  strftime(format[, tuple]) -> string<br />
  将指定的struct_time(默认为当前时间)，根据指定的格式化字符串输出<br />
  python中时间日期格式化符号：<br />
  %y 两位数的年份表示（00-99）<br />
  %Y 四位数的年份表示（000-9999）<br />
  %m 月份（01-12）<br />
  %d 月内中的一天（0-31）<br />
  %H 24小时制小时数（0-23）<br />
  %I 12小时制小时数（01-12）<br />
  %M 分钟数（00=59）<br />
  %S 秒（00-59）</p>
<p>  %a 本地简化星期名称<br />
  %A 本地完整星期名称<br />
  %b 本地简化的月份名称<br />
  %B 本地完整的月份名称<br />
  %c 本地相应的日期表示和时间表示<br />
  %j 年内的一天（001-366）<br />
  %p 本地A.M.或P.M.的等价符<br />
  %U 一年中的星期数（00-53）星期天为星期的开始<br />
  %w 星期（0-6），星期天为星期的开始<br />
  %W 一年中的星期数（00-53）星期一为星期的开始<br />
  %x 本地相应的日期表示<br />
  %X 本地相应的时间表示<br />
  %Z 当前时区的名称<br />
  %% %号本身 </p>
<p>9.strptime(&#8230;)<br />
  strptime(string, format) -> struct_time<br />
  将时间字符串根据指定的格式化符转换成数组形式的时间<br />
  例如：<br />
  2009-03-20 11:45:39  对应的格式化字符串为：%Y-%m-%d %H:%M:%S<br />
  Sat Mar 28 22:24:24 2009 对应的格式化字符串为：%a %b %d %H:%M:%S %Y</p>
<p>10.time(&#8230;)<br />
   time() -> floating point number<br />
   返回当前时间的时间戳</p>
<p>三、疑点<br />
1.夏令时<br />
  在struct_time中，夏令时好像没有用，例如<br />
  a = (2009, 6, 28, 23, 8, 34, 5, 87, 1)<br />
  b = (2009, 6, 28, 23, 8, 34, 5, 87, 0)<br />
  a和b分别表示的是夏令时和标准时间，它们之间转换为时间戳应该相关3600，但是转换后输出都为646585714.0</p>
<p>四、小应用<br />
1.python获取当前时间<br />
   time.time() 获取当前时间戳<br />
   time.localtime() 当前时间的struct_time形式<br />
   time.ctime() 当前时间的字符串形式</p>
<p>2.python格式化字符串<br />
  格式化成2009-03-20 11:45:39形式</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">  <span style="color: #dc143c;">time</span>.<span style="color: black;">strftime</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;%Y-%m-%d %H:%M:%S&quot;</span>, <span style="color: #dc143c;">time</span>.<span style="color: black;">localtime</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></pre></div></div>

<p>  格式化成Sat Mar 28 22:24:24 2009形式</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">  <span style="color: #dc143c;">time</span>.<span style="color: black;">strftime</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;%a %b %d %H:%M:%S %Y&quot;</span>, <span style="color: #dc143c;">time</span>.<span style="color: black;">localtime</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></pre></div></div>

<p>3.将格式字符串转换为时间戳</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">  a = <span style="color: #483d8b;">&quot;Sat Mar 28 22:24:24 2009&quot;</span>
  b = <span style="color: #dc143c;">time</span>.<span style="color: black;">mktime</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">time</span>.<span style="color: black;">strptime</span><span style="color: black;">&#40;</span>a,<span style="color: #483d8b;">&quot;%a %b %d %H:%M:%S %Y&quot;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></pre></div></div>

<p>转载自csdn</p>
]]></content:encoded>
			<wfw:commentRss>http://qlj.sh.cn/python/20100402/python-time/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>python http post数据表单</title>
		<link>http://qlj.sh.cn/python/20100330/pythonhttp-post/</link>
		<comments>http://qlj.sh.cn/python/20100330/pythonhttp-post/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 18:56:02 +0000</pubDate>
		<dc:creator>qlj</dc:creator>
				<category><![CDATA[python]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[post]]></category>

		<guid isPermaLink="false">http://qlj.sh.cn/?p=1039</guid>
		<description><![CDATA[学习PYTHON #!/usr/bin/python #-*-coding:utf-8-*- &#160; &#160; import httplib,urllib; #加载模块 &#160; #定义需要进行发送的数据 params = urllib.urlencode&#40;&#123;'title':'标题','content':'文章'&#125;&#41;; #定义一些文件头 headers = &#123;&#34;Content-Type&#34;:&#34;application/x-www-form-urlencoded&#34;, &#34;Connection&#34;:&#34;Keep-Alive&#34;,&#34;Referer&#34;:&#34;http://mod.qlj.sh.cn/sing/post.php&#34;&#125;; #与网站构建一个连接 conn = httplib.HTTPConnection&#40;&#34;http://mod.qlj.sh.cn/sing/&#34;&#41;; #开始进行数据提交 同时也可以使用get进行 conn.request&#40;method=&#34;POST&#34;,url=&#34;post.php&#34;,body=params,headers=headers&#41;; #返回处理后的数据 response = conn.getresponse&#40;&#41;; #判断是否提交成功 if response.status == 302: print &#34;发布成功!&#34;; else: print &#34;发布失败&#34;; #关闭连接 conn.close&#40;&#41;; 不使用COOKIES 简单提交 import urllib2, urllib &#160; data = &#123;'name' : 'www', 'password' : '123456'&#125; [...]]]></description>
			<content:encoded><![CDATA[<p>学习PYTHON<br />
<span id="more-1039"></span></p>

<div class="wp_syntax"><div 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>
&nbsp;
&nbsp;
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">httplib</span>,<span style="color: #dc143c;">urllib</span><span style="color: #66cc66;">;</span>  <span style="color: #808080; font-style: italic;">#加载模块   </span>
&nbsp;
<span style="color: #808080; font-style: italic;">#定义需要进行发送的数据   </span>
params = <span style="color: #dc143c;">urllib</span>.<span style="color: black;">urlencode</span><span style="color: black;">&#40;</span><span style="color: black;">&#123;</span><span style="color: #483d8b;">'title'</span>:<span style="color: #483d8b;">'标题'</span>,<span style="color: #483d8b;">'content'</span>:<span style="color: #483d8b;">'文章'</span><span style="color: black;">&#125;</span><span style="color: black;">&#41;</span><span style="color: #66cc66;">;</span>   
<span style="color: #808080; font-style: italic;">#定义一些文件头   </span>
headers = <span style="color: black;">&#123;</span><span style="color: #483d8b;">&quot;Content-Type&quot;</span>:<span style="color: #483d8b;">&quot;application/x-www-form-urlencoded&quot;</span>,   
           <span style="color: #483d8b;">&quot;Connection&quot;</span>:<span style="color: #483d8b;">&quot;Keep-Alive&quot;</span>,<span style="color: #483d8b;">&quot;Referer&quot;</span>:<span style="color: #483d8b;">&quot;http://mod.qlj.sh.cn/sing/post.php&quot;</span><span style="color: black;">&#125;</span><span style="color: #66cc66;">;</span>   
<span style="color: #808080; font-style: italic;">#与网站构建一个连接   </span>
conn = <span style="color: #dc143c;">httplib</span>.<span style="color: black;">HTTPConnection</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;http://mod.qlj.sh.cn/sing/&quot;</span><span style="color: black;">&#41;</span><span style="color: #66cc66;">;</span>   
<span style="color: #808080; font-style: italic;">#开始进行数据提交   同时也可以使用get进行   </span>
conn.<span style="color: black;">request</span><span style="color: black;">&#40;</span>method=<span style="color: #483d8b;">&quot;POST&quot;</span>,url=<span style="color: #483d8b;">&quot;post.php&quot;</span>,body=params,headers=headers<span style="color: black;">&#41;</span><span style="color: #66cc66;">;</span>   
<span style="color: #808080; font-style: italic;">#返回处理后的数据   </span>
response = conn.<span style="color: black;">getresponse</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: #66cc66;">;</span>   
<span style="color: #808080; font-style: italic;">#判断是否提交成功   </span>
<span style="color: #ff7700;font-weight:bold;">if</span> response.<span style="color: black;">status</span> == <span style="color: #ff4500;">302</span>:   
    <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;发布成功!&quot;</span><span style="color: #66cc66;">;</span>   
<span style="color: #ff7700;font-weight:bold;">else</span>:   
    <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;发布失败&quot;</span><span style="color: #66cc66;">;</span>   
<span style="color: #808080; font-style: italic;">#关闭连接   </span>
conn.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: #66cc66;">;</span></pre></div></div>

<p>不使用COOKIES 简单提交</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">urllib2</span>, <span style="color: #dc143c;">urllib</span>
&nbsp;
data = <span style="color: black;">&#123;</span><span style="color: #483d8b;">'name'</span> : <span style="color: #483d8b;">'www'</span>, <span style="color: #483d8b;">'password'</span> : <span style="color: #483d8b;">'123456'</span><span style="color: black;">&#125;</span>
f = <span style="color: #dc143c;">urllib2</span>.<span style="color: black;">urlopen</span><span style="color: black;">&#40;</span>
        url     = <span style="color: #483d8b;">'http://www.ideawu.net/'</span>,
        data    = <span style="color: #dc143c;">urllib</span>.<span style="color: black;">urlencode</span><span style="color: black;">&#40;</span>data<span style="color: black;">&#41;</span>
		<span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">print</span> f.<span style="color: black;">read</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></pre></div></div>

<p>使用COOKIES 复杂</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">urllib2</span>
&nbsp;
cookies = <span style="color: #dc143c;">urllib2</span>.<span style="color: black;">HTTPCookieProcessor</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
opener = <span style="color: #dc143c;">urllib2</span>.<span style="color: black;">build_opener</span><span style="color: black;">&#40;</span>cookies<span style="color: black;">&#41;</span>
&nbsp;
f = opener.<span style="color: #008000;">open</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'http://www.ideawu.net/?act=login&amp;name=user01'</span><span style="color: black;">&#41;</span>
&nbsp;
data = <span style="color: #483d8b;">'&lt;root&gt;Hello&lt;/root&gt;'</span>
request = <span style="color: #dc143c;">urllib2</span>.<span style="color: black;">Request</span><span style="color: black;">&#40;</span>
        url     = <span style="color: #483d8b;">'http://www.ideawu.net/?act=send'</span>,
        headers = <span style="color: black;">&#123;</span><span style="color: #483d8b;">'Content-Type'</span> : <span style="color: #483d8b;">'text/xml'</span><span style="color: black;">&#125;</span>,
        data    = data<span style="color: black;">&#41;</span>
&nbsp;
opener.<span style="color: #008000;">open</span><span style="color: black;">&#40;</span>request<span style="color: black;">&#41;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://qlj.sh.cn/python/20100330/pythonhttp-post/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Djl: Linux下的游戏管理器－不怕没游戏玩</title>
		<link>http://qlj.sh.cn/game/20090404/djl/</link>
		<comments>http://qlj.sh.cn/game/20090404/djl/#comments</comments>
		<pubDate>Sat, 04 Apr 2009 08:32:30 +0000</pubDate>
		<dc:creator>qlj</dc:creator>
				<category><![CDATA[game]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://qlj.sh.cn/?p=671</guid>
		<description><![CDATA[Djl 既是一个 GNU/Linux 游戏管理器，同时也是一个资源丰富的 Linux 游戏仓库。Djl 目前有 101 个游戏，包括Savage2、Urban Terror、DH: Lore Invasion、UFO Alien Invasion 等很多 Linux 发行版中没有的游戏。 Djl 独立于系统，完全独立后台操作，适合追求简单的用户，鼠标操作如同添加/删除一样简单。正因为独立，更新速度非常快。 运行 Djl 需要 Python 2.5 和 PyQt 4 库。 安装该软件需要 python-qt4 libraries]]></description>
			<content:encoded><![CDATA[<p>Djl 既是一个 GNU/Linux 游戏管理器，同时也是一个资源丰富的 Linux <a title="游戏" href="http://www.yxmi.org">游戏</a>仓库。Djl 目前有 101 个游戏，包括Savage2、Urban Terror、DH: Lore Invasion、UFO Alien Invasion 等很多 Linux 发行版中没有的游戏。</p>
<p><span id="more-671"></span></p>
<p><img src="http://linuxtoy.org/images/2009/01/djl.png" alt="DJl" /></p>
<p>Djl 独立于系统，完全独立后台操作，适合追求简单的用户，鼠标操作如同添加/删除一样简单。正因为独立，更新速度非常快。</p>
<p>运行 Djl 需要 Python 2.5 和 PyQt 4 库。</p>
<p>安装该软件需要</p>
<p><span style="color: #ff0000;"> python-qt4 libraries</span></p>
]]></content:encoded>
			<wfw:commentRss>http://qlj.sh.cn/game/20090404/djl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

