﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-天下-随笔分类-Python</title><link>http://www.cppblog.com/aaxron/category/15298.html</link><description>记录修行的印记
</description><language>zh-cn</language><lastBuildDate>Wed, 23 Dec 2015 03:59:46 GMT</lastBuildDate><pubDate>Wed, 23 Dec 2015 03:59:46 GMT</pubDate><ttl>60</ttl><item><title>Python和MySQL时间处理</title><link>http://www.cppblog.com/aaxron/archive/2015/12/23/212542.html</link><dc:creator>天下</dc:creator><author>天下</author><pubDate>Wed, 23 Dec 2015 03:51:00 GMT</pubDate><guid>http://www.cppblog.com/aaxron/archive/2015/12/23/212542.html</guid><wfw:comment>http://www.cppblog.com/aaxron/comments/212542.html</wfw:comment><comments>http://www.cppblog.com/aaxron/archive/2015/12/23/212542.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/aaxron/comments/commentRss/212542.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aaxron/services/trackbacks/212542.html</trackback:ping><description><![CDATA[<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; ">#</span><span style="color: #008000; ">Python</span><span style="color: #008000; "><br /></span><span style="color: #0000FF; ">import</span>&nbsp;time<br />time.strftime(<span style="color: #800000; ">"</span><span style="color: #800000; ">%Y-%m-%d&nbsp;%H:%M:%S</span><span style="color: #800000; ">"</span>,time.localtime(1450842012))<br /><br /><br /><span style="color: #008000; ">#</span><span style="color: #008000; ">MySQL</span><span style="color: #008000; "><br /></span>SELECT&nbsp;UNIX_TIMESTAMP(NOW())&nbsp;as&nbsp;`timestamp`,NOW()&nbsp;as&nbsp;`now`;</div><img src ="http://www.cppblog.com/aaxron/aggbug/212542.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aaxron/" target="_blank">天下</a> 2015-12-23 11:51 <a href="http://www.cppblog.com/aaxron/archive/2015/12/23/212542.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Python中二进制数据处理模块struct使用</title><link>http://www.cppblog.com/aaxron/archive/2013/03/24/198778.html</link><dc:creator>天下</dc:creator><author>天下</author><pubDate>Sun, 24 Mar 2013 10:27:00 GMT</pubDate><guid>http://www.cppblog.com/aaxron/archive/2013/03/24/198778.html</guid><wfw:comment>http://www.cppblog.com/aaxron/comments/198778.html</wfw:comment><comments>http://www.cppblog.com/aaxron/archive/2013/03/24/198778.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/aaxron/comments/commentRss/198778.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aaxron/services/trackbacks/198778.html</trackback:ping><description><![CDATA[<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->Python中二进制数据处理模块struct使用<br /><br />Python中没有二进制类型，但是可以使用string字符串类型来存储二进制数据，然后使用struct模块来对二进制数据进行处理。下面将详细描述如何使用struct模块来处理二进制数据。<br />使用struct.pack把一个整数值打包成字符串，打开Python命令行，输入：<br />&gt;&gt;&gt;<span style="color: #0000FF; ">import</span>&nbsp;struct<br />&gt;&gt;&gt;&nbsp;a&nbsp;=0x01020304<br />&gt;&gt;&gt;&nbsp;str=&nbsp;struct.pack(<span style="color: #800000; ">"</span><span style="color: #800000; ">I</span><span style="color: #800000; ">"</span>,&nbsp;a)<br />&gt;&gt;&gt;repr(str)<br /><span style="color: #800000; ">"</span><span style="color: #800000; ">'\\x04\\x03\\x02\\x01'</span><span style="color: #800000; ">"</span><br />此时，str为一个字符串，字符串中的内容与整数a的二进制存储的内容相同。<br /><br />使用struct.unpack把字符串解包成整数类型，如下：<br />&gt;&gt;&gt;&nbsp;b&nbsp;=struct.unpack(<span style="color: #800000; ">"</span><span style="color: #800000; ">I</span><span style="color: #800000; ">"</span>,&nbsp;str)<br />&gt;&gt;&gt;&nbsp;b<br />(16909060,)<br />在解包之后，返回一个元组类型(tuple)的数据。<br />如果多个数据进行打包，可以在格式中指定打包的数据类型，然后数据通过参数传入：<br />&gt;&gt;&gt;&nbsp;a&nbsp;=<span style="color: #800000; ">"</span><span style="color: #800000; ">hello</span><span style="color: #800000; ">"</span><br />&gt;&gt;&gt;&nbsp;b&nbsp;=<span style="color: #800000; ">"</span><span style="color: #800000; ">world!</span><span style="color: #800000; ">"</span><br />&gt;&gt;&gt;&nbsp;c&nbsp;=2<br />&gt;&gt;&gt;&nbsp;d&nbsp;=45.123<br />&gt;&gt;&gt;&nbsp;str=&nbsp;struct.pack(<span style="color: #800000; ">"</span><span style="color: #800000; ">5s6sif</span><span style="color: #800000; ">"</span>,&nbsp;a,&nbsp;b,&nbsp;c,&nbsp;d)<br />等价于:&nbsp;struct.pack_into(&#8220;5s6sif&#8221;,str,&nbsp;&nbsp;0,&nbsp;a,&nbsp;b,&nbsp;c,&nbsp;d)<br />&gt;&gt;&gt;&nbsp;str<br /><span style="color: #800000; ">'</span><span style="color: #800000; ">helloworld!\x00\x02\x00\x00\x00\xf4}4B</span><span style="color: #800000; ">'</span><br />解包多个数据可以这样做：<br />&gt;&gt;&gt;parts&nbsp;=&nbsp;struct.unpack(<span style="color: #800000; ">"</span><span style="color: #800000; ">5s6sif</span><span style="color: #800000; ">"</span>,&nbsp;str)<br />等价于：&nbsp;&nbsp;struct.unpack_from(&#8220;5s6sif&#8221;,&nbsp;str,&nbsp;0)<br />&gt;&gt;&gt;parts<br />(<span style="color: #800000; ">'</span><span style="color: #800000; ">hello</span><span style="color: #800000; ">'</span>,<span style="color: #800000; ">'</span><span style="color: #800000; ">world!</span><span style="color: #800000; ">'</span>,&nbsp;2,&nbsp;45.12300109863281)<br />从上可以看到浮点值在解包后与原来值不一样，这是因为浮点数的精度问题导致的。<br />struct模块中二进制格式化表示<br />Format&nbsp;C&nbsp;Type&nbsp;Python&nbsp;type&nbsp;Standard&nbsp;size&nbsp;<br />x&nbsp;pad&nbsp;byte&nbsp;no&nbsp;value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />c&nbsp;char&nbsp;string&nbsp;of&nbsp;length&nbsp;1<br />b&nbsp;signed&nbsp;char&nbsp;integer&nbsp;1&nbsp;&nbsp;&nbsp;<br />B&nbsp;unsigned&nbsp;char&nbsp;integer&nbsp;1&nbsp;&nbsp;&nbsp;<br />?&nbsp;_Bool&nbsp;bool&nbsp;1&nbsp;(1)&nbsp;<br />h&nbsp;short&nbsp;integer&nbsp;2&nbsp;&nbsp;&nbsp;<br />H&nbsp;unsigned&nbsp;short&nbsp;integer&nbsp;2&nbsp;&nbsp;&nbsp;<br />i&nbsp;int&nbsp;integer&nbsp;4&nbsp;&nbsp;&nbsp;<br />I&nbsp;unsigned&nbsp;int&nbsp;integer&nbsp;4&nbsp;&nbsp;&nbsp;<br />l&nbsp;long&nbsp;integer&nbsp;4&nbsp;&nbsp;&nbsp;<br />L&nbsp;unsigned&nbsp;long&nbsp;integer&nbsp;4&nbsp;&nbsp;&nbsp;<br />q&nbsp;long&nbsp;long&nbsp;integer&nbsp;8&nbsp;(2)&nbsp;<br />Q&nbsp;unsigned&nbsp;long&nbsp;long&nbsp;integer&nbsp;8&nbsp;(2)&nbsp;<br />f&nbsp;float&nbsp;float&nbsp;4&nbsp;(3)&nbsp;<br />d&nbsp;double&nbsp;float&nbsp;8&nbsp;(3)&nbsp;<br />s&nbsp;char[]&nbsp;string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />p&nbsp;char[]&nbsp;string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />P&nbsp;void&nbsp;*&nbsp;integer<br /><br /><img src="http://www.cppblog.com/images/cppblog_com/aaxron/python_struct.png" alt="" /><br /><br /><br />最后一个可以用来表示指针类型，占4个字节（32位），8个字节（64位）。<br />为了在与不同硬件结构之间交换数据，需要考虑字节序，如下：<br />字符<br />字节序<br />大小和对齐<br />@<br />本机字节序<br />本机，本机4字节对齐<br />=<br />本机字节序<br />标准，按原字节数对齐<br />&lt;&nbsp;<br />小尾字节序<br />标准，按原字节数对齐<br />&gt;&nbsp;<br />大尾字节序<br />标准，按原字节对齐<br />!<br />网络字节序（大尾）<br />标准，按原字节对齐<br /><br />注：缺省的情况下，使用本机字节序（同@），可以通过上面的字符修改字节序。<br />计算格式字符串的大小函数：struct.calcsize(fmt)<br />&gt;&gt;&gt;struct.calcsize(<span style="color: #800000; ">"</span><span style="color: #800000; ">ihi</span><span style="color: #800000; ">"</span>)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;缺省为4字节对齐时，长度为12<br />12<br />&gt;&gt;&gt;struct.calcsize(<span style="color: #800000; ">"</span><span style="color: #800000; ">iih</span><span style="color: #800000; ">"</span>)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当h在最后的时（此时不4字节对齐），长度为10<br />10<br />&gt;&gt;&gt;struct.calcsize(<span style="color: #800000; ">"</span><span style="color: #800000; ">@ihi</span><span style="color: #800000; ">"</span>)<br />12<br />&gt;&gt;&gt;struct.calcsize(<span style="color: #800000; ">"</span><span style="color: #800000; ">=ihi</span><span style="color: #800000; ">"</span>)<br />10<br />&gt;&gt;&gt;struct.calcsize(<span style="color: #800000; ">"</span><span style="color: #800000; ">&gt;ihi</span><span style="color: #800000; ">"</span>)<br />10<br />&gt;&gt;&gt;struct.calcsize(<span style="color: #800000; ">"</span><span style="color: #800000; ">&lt;ihi</span><span style="color: #800000; ">"</span>)<br />10<br />&gt;&gt;&gt;struct.calcsize(<span style="color: #800000; ">"</span><span style="color: #800000; ">!ihi</span><span style="color: #800000; ">"</span>)<br />10<br />注：二进制文件打开/读取的时候需要使用&#8220;rb&#8221;/&#8220;wb&#8221;模式以二进制方式打开/读取文件。<br />注：关于LE(little-endian)和BE（big-endian）区别：<br />LE&#8212;最符合人的思维的字节序，地址低位存储值的低位，地址高位存储值的高位。<br />BE&#8212;最直观的字节序，地址低位存储值的高位，地址高位存储值的低位。<br />例如：双字0X01020304在内存中存储方式，LE=0403&nbsp;02&nbsp;01，BE=01&nbsp;02&nbsp;03&nbsp;04。</div><img src ="http://www.cppblog.com/aaxron/aggbug/198778.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aaxron/" target="_blank">天下</a> 2013-03-24 18:27 <a href="http://www.cppblog.com/aaxron/archive/2013/03/24/198778.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>动态规划算法（4）：lcs递归算法python的实现</title><link>http://www.cppblog.com/aaxron/archive/2013/03/21/198690.html</link><dc:creator>天下</dc:creator><author>天下</author><pubDate>Thu, 21 Mar 2013 11:01:00 GMT</pubDate><guid>http://www.cppblog.com/aaxron/archive/2013/03/21/198690.html</guid><wfw:comment>http://www.cppblog.com/aaxron/comments/198690.html</wfw:comment><comments>http://www.cppblog.com/aaxron/archive/2013/03/21/198690.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/aaxron/comments/commentRss/198690.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aaxron/services/trackbacks/198690.html</trackback:ping><description><![CDATA[<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000">#</span><span style="color: #008000">coding:gbk</span><span style="color: #008000"><br /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;os,sys<br /></span><span style="color: #0000ff">def</span><span style="color: #000000">&nbsp;lcs(short,&nbsp;long):<br />&nbsp;&nbsp;&nbsp;&nbsp;m&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;len(short)<br />&nbsp;&nbsp;&nbsp;&nbsp;n&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;len(long)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(m&nbsp;</span><span style="color: #000000">&lt;=</span><span style="color: #000000">&nbsp;0&nbsp;</span><span style="color: #0000ff">or</span><span style="color: #000000">&nbsp;n&nbsp;</span><span style="color: #000000">&lt;=</span><span style="color: #000000">&nbsp;0):<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">""</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;m</span><span style="color: #000000">&gt;</span><span style="color: #000000">n:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;short,long&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;long,short<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;short&nbsp;</span><span style="color: #0000ff">in</span><span style="color: #000000">&nbsp;long:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;short<br />&nbsp;&nbsp;&nbsp;&nbsp;t1&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;lcs(short[</span><span style="color: #000000">1</span><span style="color: #000000">:],long)<br />&nbsp;&nbsp;&nbsp;&nbsp;t2&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;lcs(short[0:</span><span style="color: #000000">-</span><span style="color: #000000">1</span><span style="color: #000000">],long)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;t1</span><span style="color: #000000">&gt;</span><span style="color: #000000">t2:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;t1<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;t2<br /><br /><br /></span><span style="color: #0000ff">def</span><span style="color: #000000">&nbsp;main():<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;len(sys.argv)</span><span style="color: #000000">&lt;</span><span style="color: #000000">3</span><span style="color: #000000">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">print</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">使用:lcs&nbsp;&lt;字符串1&gt;&nbsp;&lt;字符串2&gt;</span><span style="color: #800000">"</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;a&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;lcs(sys.argv[</span><span style="color: #000000">1</span><span style="color: #000000">],sys.argv[</span><span style="color: #000000">2</span><span style="color: #000000">])<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">print</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">最大公共子串长度:%d</span><span style="color: #800000">"</span><span style="color: #000000">%</span><span style="color: #000000">len(a)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">print</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">最大公共子串:</span><span style="color: #800000">"</span><span style="color: #000000">+</span><span style="color: #000000">a<br /></span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">__name__</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">'</span><span style="color: #800000">__main__</span><span style="color: #800000">'</span><span style="color: #000000">:<br />&nbsp;&nbsp;&nbsp;&nbsp;main()<br /><br /></span></div><img src ="http://www.cppblog.com/aaxron/aggbug/198690.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aaxron/" target="_blank">天下</a> 2013-03-21 19:01 <a href="http://www.cppblog.com/aaxron/archive/2013/03/21/198690.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>python 异常处理</title><link>http://www.cppblog.com/aaxron/archive/2012/08/13/187090.html</link><dc:creator>天下</dc:creator><author>天下</author><pubDate>Mon, 13 Aug 2012 13:20:00 GMT</pubDate><guid>http://www.cppblog.com/aaxron/archive/2012/08/13/187090.html</guid><wfw:comment>http://www.cppblog.com/aaxron/comments/187090.html</wfw:comment><comments>http://www.cppblog.com/aaxron/archive/2012/08/13/187090.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/aaxron/comments/commentRss/187090.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aaxron/services/trackbacks/187090.html</trackback:ping><description><![CDATA[<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000">#</span><span style="color: #008000">coding:gbk</span><span style="color: #008000"><br /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;os,sys,time,ctypes<br /><br /></span><span style="color: #0000ff">def</span><span style="color: #000000">&nbsp;main():<br />&nbsp;&nbsp;&nbsp;&nbsp;argc&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;len(sys.argv)<br />&nbsp;&nbsp;&nbsp;&nbsp;filename&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;r</span><span style="color: #800000">"</span><span style="color: #800000">d:\a.txt</span><span style="color: #800000">"</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;os.remove(filename)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">print</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">删除文件成功</span><span style="color: #800000">"</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">#</span><span style="color: #008000">except&nbsp;WindowsError&nbsp;as&nbsp;e:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#同下一行</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">except</span><span style="color: #000000">&nbsp;WindowsError,e:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">#</span><span style="color: #008000">print&nbsp;ctypes.GetLastError()</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">#</span><span style="color: #008000">print&nbsp;os.strerror(e.errno)</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;e.errno</span><span style="color: #000000">==</span><span style="color: #000000">2</span><span style="color: #000000">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">print</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">文件不存在</span><span style="color: #800000">"</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">finally</span><span style="color: #000000">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">pass</span><span style="color: #000000"><br /><br /></span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">__name__</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">'</span><span style="color: #800000">__main__</span><span style="color: #800000">'</span><span style="color: #000000">:<br />&nbsp;&nbsp;&nbsp;&nbsp;main()<br /><br /></span><span style="color: #008000">#</span><span style="color: #008000">查看错误号：http://msdn.microsoft.com/en-us/library/windows/desktop/ms681382(v=vs.85).aspx</span></div><img src ="http://www.cppblog.com/aaxron/aggbug/187090.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aaxron/" target="_blank">天下</a> 2012-08-13 21:20 <a href="http://www.cppblog.com/aaxron/archive/2012/08/13/187090.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>python mysql封装</title><link>http://www.cppblog.com/aaxron/archive/2012/08/06/186472.html</link><dc:creator>天下</dc:creator><author>天下</author><pubDate>Mon, 06 Aug 2012 08:38:00 GMT</pubDate><guid>http://www.cppblog.com/aaxron/archive/2012/08/06/186472.html</guid><wfw:comment>http://www.cppblog.com/aaxron/comments/186472.html</wfw:comment><comments>http://www.cppblog.com/aaxron/archive/2012/08/06/186472.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/aaxron/comments/commentRss/186472.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aaxron/services/trackbacks/186472.html</trackback:ping><description><![CDATA[<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000">#</span><span style="color: #008000">coding:utf-8</span><span style="color: #008000"><br />#</span><span style="color: #008000">08年写的</span><span style="color: #008000"><br /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;sys<br /></span><span style="color: #0000ff">try</span><span style="color: #000000">:<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;MySQLdb<br /></span><span style="color: #0000ff">except</span><span style="color: #000000">&nbsp;ImportError:<br />&nbsp;&nbsp;&nbsp;&nbsp;sys.exit(</span><span style="color: #800000">"</span><span style="color: #800000">Exceptions.ImportError:&nbsp;No&nbsp;module&nbsp;named&nbsp;MySQLdb\n</span><span style="color: #800000">"</span><span style="color: #000000">);<br /><br /></span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;pymysql(object):<br />&nbsp;&nbsp;&nbsp;&nbsp;conn&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;None<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">def</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">__init__</span><span style="color: #000000">(self):<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">pass</span><span style="color: #000000"><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">def</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">__del__</span><span style="color: #000000">(self):<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.close()<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">def</span><span style="color: #000000">&nbsp;connect(self,db_host,db_user,db_password,db_name,db_port</span><span style="color: #000000">=</span><span style="color: #000000">3306</span><span style="color: #000000">,db_charset</span><span style="color: #000000">=</span><span style="color: #800000">'</span><span style="color: #800000">utf8</span><span style="color: #800000">'</span><span style="color: #000000">):<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.conn&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;MySQLdb.connect(host</span><span style="color: #000000">=</span><span style="color: #000000">db_host,user</span><span style="color: #000000">=</span><span style="color: #000000">db_user,passwd</span><span style="color: #000000">=</span><span style="color: #000000">db_password,db</span><span style="color: #000000">=</span><span style="color: #000000">db_name,port</span><span style="color: #000000">=</span><span style="color: #000000">db_port,charset</span><span style="color: #000000">=</span><span style="color: #000000">db_charset)<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.</span><span style="color: #800080">__db_host</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;db_host<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.</span><span style="color: #800080">__db_user</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;db_user<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.</span><span style="color: #800080">__db_password</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;db_password<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.</span><span style="color: #800080">__db_name</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;db_name<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.</span><span style="color: #800080">__db_port</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;db_port<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.</span><span style="color: #800080">__db_charset</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;db_charset<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;True<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">except</span><span style="color: #000000">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;False<br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">def</span><span style="color: #000000">&nbsp;reconnect(self):<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.conn&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;MySQLdb.connect(host</span><span style="color: #000000">=</span><span style="color: #000000">self.</span><span style="color: #800080">__db_host</span><span style="color: #000000">,user</span><span style="color: #000000">=</span><span style="color: #000000">self.</span><span style="color: #800080">__db_user</span><span style="color: #000000">,passwd</span><span style="color: #000000">=</span><span style="color: #000000">self.</span><span style="color: #800080">__db_password</span><span style="color: #000000">,db</span><span style="color: #000000">=</span><span style="color: #000000">self.</span><span style="color: #800080">__db_name</span><span style="color: #000000">,port</span><span style="color: #000000">=</span><span style="color: #000000">self.</span><span style="color: #800080">__db_port</span><span style="color: #000000">,charset</span><span style="color: #000000">=</span><span style="color: #000000">self.</span><span style="color: #800080">__db_charset</span><span style="color: #000000">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;True<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">except</span><span style="color: #000000">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;False<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">def</span><span style="color: #000000">&nbsp;quote(self,queryString):<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;MySQLdb.escape_string(queryString);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">def</span><span style="color: #000000">&nbsp;query(self,sql):<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cursor&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;self.conn.cursor()<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cursor.execute(sql)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;cursor<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">except</span><span style="color: #000000">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sys.exit(</span><span style="color: #800000">"</span><span style="color: #800000">MySQL&nbsp;Query&nbsp;Error:\n</span><span style="color: #800000">"</span><span style="color: #000000">+</span><span style="color: #000000">sql</span><span style="color: #000000">+</span><span style="color: #800000">"</span><span style="color: #800000">\n</span><span style="color: #800000">"</span><span style="color: #000000">)<br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">def</span><span style="color: #000000">&nbsp;execute(self,sql):<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;self.conn.cursor().execute(sql)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">except</span><span style="color: #000000">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sys.exit(</span><span style="color: #800000">"</span><span style="color: #800000">MySQL&nbsp;Query&nbsp;Error:\n</span><span style="color: #800000">"</span><span style="color: #000000">+</span><span style="color: #000000">sql</span><span style="color: #000000">+</span><span style="color: #800000">"</span><span style="color: #800000">\n</span><span style="color: #800000">"</span><span style="color: #000000">)<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">def</span><span style="color: #000000">&nbsp;fetch(self,cursor):<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;cursor.fetchone()<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">def</span><span style="color: #000000">&nbsp;fetchRow(self,sql):<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;self.query(sql).fetchone()<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">def</span><span style="color: #000000">&nbsp;fetchOne(self,sql):<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;self.query(sql).fetchone()[0]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">except</span><span style="color: #000000">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;None<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">def</span><span style="color: #000000">&nbsp;fetchAll(self,sql):<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;self.query(sql).fetchall()<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">def</span><span style="color: #000000">&nbsp;insert(self,table,row):<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sqlArr&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;[]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;key&nbsp;</span><span style="color: #0000ff">in</span><span style="color: #000000">&nbsp;row.iterkeys():<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sqlArr.append(</span><span style="color: #800000">"</span><span style="color: #800000">%s='%s'</span><span style="color: #800000">"</span><span style="color: #000000">%</span><span style="color: #000000">(key,row[key],))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">insert&nbsp;into&nbsp;</span><span style="color: #800000">"</span><span style="color: #000000">+</span><span style="color: #000000">table&nbsp;</span><span style="color: #000000">+</span><span style="color: #800000">"</span><span style="color: #800000">&nbsp;set&nbsp;</span><span style="color: #800000">"</span><span style="color: #000000">+</span><span style="color: #000000">str.join(</span><span style="color: #800000">"</span><span style="color: #800000">,</span><span style="color: #800000">"</span><span style="color: #000000">,sqlArr)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;self.execute(sql)<br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">def</span><span style="color: #000000">&nbsp;update(self,table,row,where):<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sqlArr&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;[]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;key&nbsp;</span><span style="color: #0000ff">in</span><span style="color: #000000">&nbsp;row.iterkeys():<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sqlArr.append(</span><span style="color: #800000">"</span><span style="color: #800000">%s='%s'</span><span style="color: #800000">"</span><span style="color: #000000">%</span><span style="color: #000000">(key,row[key],))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">update&nbsp;</span><span style="color: #800000">"</span><span style="color: #000000">+</span><span style="color: #000000">table&nbsp;</span><span style="color: #000000">+</span><span style="color: #800000">"</span><span style="color: #800000">&nbsp;set&nbsp;</span><span style="color: #800000">"</span><span style="color: #000000">+</span><span style="color: #000000">str.join(</span><span style="color: #800000">"</span><span style="color: #800000">,</span><span style="color: #800000">"</span><span style="color: #000000">,sqlArr)</span><span style="color: #000000">+</span><span style="color: #800000">"</span><span style="color: #800000">&nbsp;where&nbsp;</span><span style="color: #800000">"</span><span style="color: #000000">+</span><span style="color: #000000">where<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;self.execute(sql)<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">def</span><span style="color: #000000">&nbsp;close(self):<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;self.conn:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.conn.close()</span></div><img src ="http://www.cppblog.com/aaxron/aggbug/186472.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aaxron/" target="_blank">天下</a> 2012-08-06 16:38 <a href="http://www.cppblog.com/aaxron/archive/2012/08/06/186472.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于批处理重定向</title><link>http://www.cppblog.com/aaxron/archive/2012/08/01/185854.html</link><dc:creator>天下</dc:creator><author>天下</author><pubDate>Wed, 01 Aug 2012 02:24:00 GMT</pubDate><guid>http://www.cppblog.com/aaxron/archive/2012/08/01/185854.html</guid><wfw:comment>http://www.cppblog.com/aaxron/comments/185854.html</wfw:comment><comments>http://www.cppblog.com/aaxron/archive/2012/08/01/185854.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/aaxron/comments/commentRss/185854.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aaxron/services/trackbacks/185854.html</trackback:ping><description><![CDATA[<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">关于批处理重定向&nbsp;<br /><br />重定向符号有&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">&nbsp;、</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;、</span><span style="color: #000000; ">&gt;&gt;</span><span style="color: #000000; ">&nbsp;、</span><span style="color: #000000; ">&lt;&amp;</span><span style="color: #000000; ">&nbsp;、</span><span style="color: #000000; ">&gt;&amp;</span><span style="color: #000000; ">&nbsp;和&nbsp;</span><span style="color: #000000; ">|</span><span style="color: #000000; ">&nbsp;共六个。<br /><br />重定向符号的作用如下表所示：<br /><br />符号　　　作用<br />&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br /></span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">　　　从文件或设备（如默认的&nbsp;con&nbsp;键盘）中读取命令输入。<br /></span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">　　　将命令输出写入到文件或设备（如&nbsp;prn&nbsp;打印机）中。&nbsp;<br /></span><span style="color: #000000; ">&gt;&gt;</span><span style="color: #000000; ">　　&nbsp;将命令输出添加到文件末尾而不删除文件中的信息。<br /></span><span style="color: #000000; ">&lt;&amp;</span><span style="color: #000000; ">　　从后一个句柄读取输入并写入到前一个句柄输出中。<br /></span><span style="color: #000000; ">&gt;&amp;</span><span style="color: #000000; ">　　将前一个句柄的输出写成后一个句柄的输入。<br /></span><span style="color: #000000; ">|</span><span style="color: #000000; ">　　　读取前一个命令中的输出作为后一个命令的输入。也称作管道符。<br />&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />注意：句柄的输入输出只是其指向，真正的输入输出是靠设备。<br />重定向符号的默认句柄，</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">&nbsp;的默认句柄是&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">，</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;的默认句柄是&nbsp;</span><span style="color: #000000; ">1</span><span style="color: #000000; ">。<br /><br />可用句柄（</span><span style="color: #000000; ">0</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">9</span><span style="color: #000000; ">）如下表：<br /><br />句柄　　　　句柄号　　　说明<br />&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />STDIN　　　　</span><span style="color: #000000; ">0</span><span style="color: #000000; ">　　　　&nbsp;标准输入，默认从键盘输入<br />STDOUT　　　&nbsp;</span><span style="color: #000000; ">1</span><span style="color: #000000; ">　　　　标准输出，默认输出到命令提示符窗口<br />STDERR　　　&nbsp;</span><span style="color: #000000; ">2</span><span style="color: #000000; ">&nbsp;　　　&nbsp;&nbsp;&nbsp;标准错误输出，默认输出到命令提示符窗口<br />UNDEFINED　&nbsp;&nbsp;</span><span style="color: #000000; ">3</span><span style="color: #000000; ">-</span><span style="color: #000000; ">9</span><span style="color: #000000; ">　　　&nbsp;&nbsp;这些句柄由应用程序和各个具体工具单独定义。<br />&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br /><br />设备<br />空设备，用&nbsp;nul&nbsp;表示。<br />存储设备，文件就归到这类。<br />不常用的如：打印机&nbsp;prn。<br /><br />（原文地址：http:</span><span style="color: #008000; ">//</span><span style="color: #008000; ">bbs.bathome.net/viewthread.php?tid=2579）</span><span style="color: #008000; "><br /></span><span style="color: #000000; "><br /><br />作一点补充：平时用到最多的应该就是&nbsp;</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;nul&nbsp;了，它只是简化的重定向标准输出&nbsp;</span><span style="color: #000000; ">1</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;nul&nbsp;的写法，与此类似，&nbsp;</span><span style="color: #000000; ">2</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;就是重定向标准错误输出。<br /><br /><br />import&nbsp;os,time<br />cmd&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;r</span><span style="color: #000000; ">'</span><span style="color: #000000; ">net&nbsp;use&nbsp;X:&nbsp;\\192.168.3.166\xuxinhua&nbsp;2&gt;nul</span><span style="color: #000000; ">'</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">&nbsp;(True):<br />&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;cmd<br />&nbsp;&nbsp;&nbsp;&nbsp;nRet&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;os.system(cmd)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(nRet</span><span style="color: #000000; ">==</span><span style="color: #000000; ">0</span><span style="color: #000000; ">):<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;r</span><span style="color: #000000; ">'</span><span style="color: #000000; ">run&nbsp;cmd&nbsp;success,after&nbsp;5(s)&nbsp;exit!</span><span style="color: #000000; ">'</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;time.sleep(</span><span style="color: #000000; ">5</span><span style="color: #000000; ">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit()<br />&nbsp;&nbsp;&nbsp;&nbsp;time.sleep(</span><span style="color: #000000; ">5</span><span style="color: #000000; ">)<br />&nbsp;&nbsp;&nbsp; <br /></span></div><img src ="http://www.cppblog.com/aaxron/aggbug/185854.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aaxron/" target="_blank">天下</a> 2012-08-01 10:24 <a href="http://www.cppblog.com/aaxron/archive/2012/08/01/185854.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>python源码片段</title><link>http://www.cppblog.com/aaxron/archive/2012/01/16/164238.html</link><dc:creator>天下</dc:creator><author>天下</author><pubDate>Mon, 16 Jan 2012 02:52:00 GMT</pubDate><guid>http://www.cppblog.com/aaxron/archive/2012/01/16/164238.html</guid><wfw:comment>http://www.cppblog.com/aaxron/comments/164238.html</wfw:comment><comments>http://www.cppblog.com/aaxron/archive/2012/01/16/164238.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/aaxron/comments/commentRss/164238.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aaxron/services/trackbacks/164238.html</trackback:ping><description><![CDATA[<div style="font-size: 13px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; background-color: #eeeeee; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">tp_obj&nbsp;tp_printf(tp_vm&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">tp,&nbsp;</span><span style="color: #0000FF; ">char</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">const</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">fmt,<img src="http://www.cppblog.com/Images/dot.gif"  alt="" />)&nbsp;<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;l;<br />&nbsp;&nbsp;&nbsp;&nbsp;tp_obj&nbsp;r;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">char</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">s;<br />&nbsp;&nbsp;&nbsp;&nbsp;va_list&nbsp;arg;<br />&nbsp;&nbsp;&nbsp;&nbsp;va_start(arg,&nbsp;fmt);<br />&nbsp;&nbsp;&nbsp;&nbsp;l&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;vsnprintf(NULL,&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,&nbsp;fmt,arg);<br />&nbsp;&nbsp;&nbsp;&nbsp;r&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;tp_string_t(tp,l);<br />&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;r.</span><span style="color: #0000FF; ">string</span><span style="color: #000000; ">.info</span><span style="color: #000000; ">-&gt;</span><span style="color: #000000; ">s;<br />&nbsp;&nbsp;&nbsp;&nbsp;va_end(arg);<br />&nbsp;&nbsp;&nbsp;&nbsp;va_start(arg,&nbsp;fmt);<br />&nbsp;&nbsp;&nbsp;&nbsp;vsprintf(s,fmt,arg);<br />&nbsp;&nbsp;&nbsp;&nbsp;va_end(arg);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;tp_track(tp,r);<br />}</span></div><img src ="http://www.cppblog.com/aaxron/aggbug/164238.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aaxron/" target="_blank">天下</a> 2012-01-16 10:52 <a href="http://www.cppblog.com/aaxron/archive/2012/01/16/164238.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>为QT编译写的py脚本</title><link>http://www.cppblog.com/aaxron/archive/2011/09/22/156514.html</link><dc:creator>天下</dc:creator><author>天下</author><pubDate>Thu, 22 Sep 2011 02:26:00 GMT</pubDate><guid>http://www.cppblog.com/aaxron/archive/2011/09/22/156514.html</guid><wfw:comment>http://www.cppblog.com/aaxron/comments/156514.html</wfw:comment><comments>http://www.cppblog.com/aaxron/archive/2011/09/22/156514.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/aaxron/comments/commentRss/156514.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aaxron/services/trackbacks/156514.html</trackback:ping><description><![CDATA[<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; ">#</span><span style="color: #008000; ">!/usr/bin/python</span><span style="color: #008000; "><br />#</span><span style="color: #008000; ">coding:utf-8</span><span style="color: #008000; "><br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;os,sys,string<br /><br />argc&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;len(sys.argv)<br />nResult&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;0<br /><br />dirname&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;os.path.basename(os.getcwd())<br />proj</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;dirname&nbsp;</span><span style="color: #000000; ">+</span><span style="color: #000000; ">&nbsp;</span><span style="color: #800000; ">"</span><span style="color: #800000; ">.pro</span><span style="color: #800000; ">"</span><span style="color: #000000; "><br />file_exe&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;dirname<br /><br /><br /></span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;argc</span><span style="color: #000000; ">==</span><span style="color: #000000; ">2</span><span style="color: #000000; ">:<br />&nbsp;&nbsp;&nbsp;&nbsp;para</span><span style="color: #000000; ">=</span><span style="color: #000000; ">sys.argv[</span><span style="color: #000000; ">1</span><span style="color: #000000; ">]<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;para&nbsp;</span><span style="color: #000000; ">==</span><span style="color: #000000; ">&nbsp;</span><span style="color: #800000; ">"</span><span style="color: #800000; ">--help</span><span style="color: #800000; ">"</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">or</span><span style="color: #000000; ">&nbsp;para</span><span style="color: #000000; ">==</span><span style="color: #800000; ">"</span><span style="color: #800000; ">-h</span><span style="color: #800000; ">"</span><span style="color: #000000; ">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sys.exit(</span><span style="color: #800000; ">"</span><span style="color: #800000; ">Usage:mk&nbsp;[rebuild|clean]</span><span style="color: #800000; ">"</span><span style="color: #000000; ">)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;para</span><span style="color: #000000; ">==</span><span style="color: #800000; ">"</span><span style="color: #800000; ">clean</span><span style="color: #800000; ">"</span><span style="color: #000000; ">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cmd</span><span style="color: #000000; ">=</span><span style="color: #800000; ">"</span><span style="color: #800000; ">make&nbsp;clean&nbsp;2&gt;/dev/null</span><span style="color: #800000; ">"</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">print</span><span style="color: #000000; ">&nbsp;cmd<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;os.system(cmd)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cmd</span><span style="color: #000000; ">=</span><span style="color: #800000; ">"</span><span style="color: #800000; ">rm&nbsp;-f&nbsp;Makefile</span><span style="color: #800000; ">"</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">print</span><span style="color: #000000; ">&nbsp;cmd<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;os.system(cmd)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cmd</span><span style="color: #000000; ">=</span><span style="color: #800000; ">"</span><span style="color: #800000; ">rm&nbsp;-f&nbsp;</span><span style="color: #800000; ">"</span><span style="color: #000000; ">+</span><span style="color: #000000; ">proj<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">print</span><span style="color: #000000; ">&nbsp;cmd<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;os.system(cmd)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cmd&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #800000; ">"</span><span style="color: #800000; ">rm&nbsp;-f&nbsp;</span><span style="color: #800000; ">"</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">+</span><span style="color: #000000; ">&nbsp;file_exe<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">print</span><span style="color: #000000; ">&nbsp;cmd<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;os.system(cmd)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sys.exit(</span><span style="color: #800000; ">"</span><span style="color: #800000; ">mk&nbsp;clean&nbsp;completed!</span><span style="color: #800000; ">"</span><span style="color: #000000; ">)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;para</span><span style="color: #000000; ">==</span><span style="color: #000000; ">&nbsp;</span><span style="color: #800000; ">"</span><span style="color: #800000; ">rebuild</span><span style="color: #800000; ">"</span><span style="color: #000000; ">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cmd&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #800000; ">"</span><span style="color: #800000; ">mk&nbsp;clean</span><span style="color: #800000; ">"</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">print</span><span style="color: #000000; ">&nbsp;cmd<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;os.system(cmd)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cmd&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #800000; ">"</span><span style="color: #800000; ">mk</span><span style="color: #800000; ">"</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">print</span><span style="color: #000000; ">&nbsp;cmd<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;os.system(cmd)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sys.exit()<br /><br /></span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">not</span><span style="color: #000000; ">&nbsp;os.path.isfile(proj):<br />&nbsp;&nbsp;&nbsp;&nbsp;cmd&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #800000; ">"</span><span style="color: #800000; ">qmake&nbsp;-project</span><span style="color: #800000; ">"</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">print</span><span style="color: #000000; ">&nbsp;cmd<br />&nbsp;&nbsp;&nbsp;&nbsp;os.system(cmd)<br /><br />cmd&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #800000; ">"</span><span style="color: #800000; ">qmake&nbsp;</span><span style="color: #800000; ">"</span><span style="color: #000000; ">+</span><span style="color: #000000; ">proj<br /></span><span style="color: #0000FF; ">print</span><span style="color: #000000; ">&nbsp;cmd<br />os.system(cmd)<br /><br />cmd</span><span style="color: #000000; ">=</span><span style="color: #800000; ">"</span><span style="color: #800000; ">make</span><span style="color: #800000; ">"</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">print</span><span style="color: #000000; ">&nbsp;cmd<br />nResult&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;os.system(cmd)<br /><br /></span><span style="color: #0000FF; ">print</span><span style="color: #000000; ">(</span><span style="color: #800000; ">"</span><span style="color: #800000; ">\n---------------</span><span style="color: #800000; ">"</span><span style="color: #000000; ">)<br /></span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;nResult</span><span style="color: #000000; ">==</span><span style="color: #000000; ">0:<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">print</span><span style="color: #000000; ">(</span><span style="color: #800000; ">"</span><span style="color: #800000; ">build&nbsp;Success</span><span style="color: #800000; ">"</span><span style="color: #000000; ">)<br /></span><span style="color: #0000FF; ">else</span><span style="color: #000000; ">:<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">print</span><span style="color: #000000; ">(</span><span style="color: #800000; ">"</span><span style="color: #800000; ">build&nbsp;Failure</span><span style="color: #800000; ">"</span><span style="color: #000000; ">)<br /></span></div><img src ="http://www.cppblog.com/aaxron/aggbug/156514.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aaxron/" target="_blank">天下</a> 2011-09-22 10:26 <a href="http://www.cppblog.com/aaxron/archive/2011/09/22/156514.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>python小函数</title><link>http://www.cppblog.com/aaxron/archive/2011/09/21/156395.html</link><dc:creator>天下</dc:creator><author>天下</author><pubDate>Wed, 21 Sep 2011 02:49:00 GMT</pubDate><guid>http://www.cppblog.com/aaxron/archive/2011/09/21/156395.html</guid><wfw:comment>http://www.cppblog.com/aaxron/comments/156395.html</wfw:comment><comments>http://www.cppblog.com/aaxron/archive/2011/09/21/156395.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/aaxron/comments/commentRss/156395.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aaxron/services/trackbacks/156395.html</trackback:ping><description><![CDATA[<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000">#</span><span style="color: #008000">coding:gbk</span><span style="color: #008000"><br /></span><span style="color: #000000"><br /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;os,sys,time<br /><br /></span><span style="color: #0000ff">def</span><span style="color: #000000">&nbsp;get_ext(fileName):<br />&nbsp;&nbsp;&nbsp;&nbsp;pos&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;fileName.rfind(</span><span style="color: #800000">"</span><span style="color: #800000">.</span><span style="color: #800000">"</span><span style="color: #000000">)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;pos&nbsp;</span><span style="color: #000000">!=-</span><span style="color: #000000">1</span><span style="color: #000000">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;fileName[pos:].lower()<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;None<br /><br /></span><span style="color: #0000ff">def</span><span style="color: #000000">&nbsp;str2int(v):<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">:v&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;int(v)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">except</span><span style="color: #000000">:v&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;0<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;v<br /><br /></span><span style="color: #0000ff">def</span><span style="color: #000000">&nbsp;mod(x,y):<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;float(x)</span><span style="color: #000000">/</span><span style="color: #000000">y<br /><br /></span><span style="color: #0000ff">def</span><span style="color: #000000">&nbsp;printf(format,</span><span style="color: #000000">*</span><span style="color: #000000">args):<br />&nbsp;&nbsp;&nbsp;&nbsp;sys.stdout.write(format</span><span style="color: #000000">%</span><span style="color: #000000">args)<br /><br /></span><span style="color: #0000ff">def</span><span style="color: #000000">&nbsp;sprintf(format,</span><span style="color: #000000">*</span><span style="color: #000000">args):<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;format</span><span style="color: #000000">%</span><span style="color: #000000">args<br /><br /></span><span style="color: #0000ff">def</span><span style="color: #000000">&nbsp;exit_delay(num):<br />&nbsp;&nbsp;&nbsp;&nbsp;secnod&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;num<br />&nbsp;&nbsp;&nbsp;&nbsp;text&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;r</span><span style="color: #800000">"</span><span style="color: #800000">after&nbsp;(%02d)&nbsp;secnod&nbsp;exit.</span><span style="color: #800000">"</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;length&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;len(text)</span><span style="color: #000000">-</span><span style="color: #000000">2</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;back&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">""</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #0000ff">in</span><span style="color: #000000">&nbsp;range(length):<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;back&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;back&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">\b</span><span style="color: #800000">"</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">while</span><span style="color: #000000">&nbsp;(secnod):<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sys.stdout.write(text</span><span style="color: #000000">%</span><span style="color: #000000">secnod)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sys.stdout.flush()<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;time.sleep(</span><span style="color: #000000">1</span><span style="color: #000000">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sys.stdout.write(back)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;secnod&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;secnod&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">1</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;sys.stdout.write(text</span><span style="color: #000000">%</span><span style="color: #000000">secnod)<br />&nbsp;&nbsp;&nbsp;&nbsp;sys.stdout.write(</span><span style="color: #800000">"</span><span style="color: #800000">\r\n</span><span style="color: #800000">"</span><span style="color: #000000">)<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #0000ff">def</span><span style="color: #000000">&nbsp;unlink(filename):<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;os.remove(filename)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #800000">"</span><span style="color: #800000">删除文件(%s)成功&nbsp;\r\n</span><span style="color: #800000">"</span><span style="color: #000000">,filename)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">except</span><span style="color: #000000">&nbsp;WindowsError,e:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;e.errno</span><span style="color: #000000">==</span><span style="color: #000000">2</span><span style="color: #000000">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #800000">"</span><span style="color: #800000">文件(%s)不存在&nbsp;\r\n</span><span style="color: #800000">"</span><span style="color: #000000">,filename)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #0000ff">def</span><span style="color: #000000">&nbsp;A(n):<br />&nbsp;&nbsp;&nbsp;&nbsp;c&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">1</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #0000ff">in</span><span style="color: #000000">&nbsp;range(n):<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c&nbsp;</span><span style="color: #000000">*=</span><span style="color: #000000">&nbsp;i</span><span style="color: #000000">+</span><span style="color: #000000">1</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;c<br /><br /></span><span style="color: #0000ff">def</span><span style="color: #000000">&nbsp;C(n,m):<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;A(n)</span><span style="color: #000000">/</span><span style="color: #000000">A(n</span><span style="color: #000000">-</span><span style="color: #000000">m)</span><span style="color: #000000">/</span><span style="color: #000000">A(m)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span></div><img src ="http://www.cppblog.com/aaxron/aggbug/156395.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aaxron/" target="_blank">天下</a> 2011-09-21 10:49 <a href="http://www.cppblog.com/aaxron/archive/2011/09/21/156395.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>python 时间使用</title><link>http://www.cppblog.com/aaxron/archive/2011/03/07/141257.html</link><dc:creator>天下</dc:creator><author>天下</author><pubDate>Mon, 07 Mar 2011 03:22:00 GMT</pubDate><guid>http://www.cppblog.com/aaxron/archive/2011/03/07/141257.html</guid><wfw:comment>http://www.cppblog.com/aaxron/comments/141257.html</wfw:comment><comments>http://www.cppblog.com/aaxron/archive/2011/03/07/141257.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/aaxron/comments/commentRss/141257.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aaxron/services/trackbacks/141257.html</trackback:ping><description><![CDATA[<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><span style="COLOR: #000000">python&nbsp;时间使用<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #008000">#</span><span style="COLOR: #008000">获取当前时间</span><span style="COLOR: #008000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;time<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">now&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;time.time()<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">time.localtime()<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">(</span><span style="COLOR: #000000">2007</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">6</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">12</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">47</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">7</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">5</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">153</span><span style="COLOR: #000000">,&nbsp;0)<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">localtime返回tuple格式的时间<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">gmtime()返回的是0时区的值，<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">localtime返回的是当前时区的值。<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #008000">#</span><span style="COLOR: #008000">查看时区用</span><span style="COLOR: #008000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">&gt;&gt;&gt;</span><span style="COLOR: #000000">&nbsp;time.timezone<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">28800</span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">上面的值是一个秒值，是当前时区和0时区相差的描述，</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">28800</span><span style="COLOR: #000000">=-</span><span style="COLOR: #000000">8</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">3600</span><span style="COLOR: #000000">，即为东八区。<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">time.strftime(&nbsp;</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">%Y-%m-%d&nbsp;%H:%M:%S</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">,&nbsp;time.localtime(&nbsp;time.time()&nbsp;)&nbsp;)<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">再把格式记录如下<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">a&nbsp;星期几的简写&nbsp;Weekday&nbsp;name,&nbsp;abbr.<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">A&nbsp;星期几的全称&nbsp;Weekday&nbsp;name,&nbsp;full<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">b&nbsp;月分的简写&nbsp;Month&nbsp;name,&nbsp;abbr.<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">B&nbsp;月份的全称&nbsp;Month&nbsp;name,&nbsp;full<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">c&nbsp;标准的日期的时间串&nbsp;Complete&nbsp;date&nbsp;</span><span style="COLOR: #0000ff">and</span><span style="COLOR: #000000">&nbsp;time&nbsp;representation<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">d&nbsp;十进制表示的每月的第几天&nbsp;Day&nbsp;of&nbsp;the&nbsp;month<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">H&nbsp;24小时制的小时&nbsp;Hour&nbsp;(</span><span style="COLOR: #000000">24</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">hour&nbsp;clock)<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">I&nbsp;12小时制的小时&nbsp;Hour&nbsp;(</span><span style="COLOR: #000000">12</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">hour&nbsp;clock)<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">j&nbsp;十进制表示的每年的第几天&nbsp;Day&nbsp;of&nbsp;the&nbsp;year<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">m&nbsp;十进制表示的月份&nbsp;Month&nbsp;number<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">M&nbsp;十时制表示的分钟数&nbsp;Minute&nbsp;number<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">S&nbsp;十进制的秒数&nbsp;Second&nbsp;number<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">U&nbsp;第年的第几周，把星期日做为第一天（值从0到53）Week&nbsp;number&nbsp;(Sunday&nbsp;first&nbsp;weekday)<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">w&nbsp;十进制表示的星期几（值从0到6，星期天为0）weekday&nbsp;number<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">W&nbsp;每年的第几周，把星期一做为第一天（值从0到53）&nbsp;Week&nbsp;number&nbsp;(Monday&nbsp;first&nbsp;weekday)<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">x&nbsp;标准的日期串&nbsp;Complete&nbsp;date&nbsp;representation&nbsp;(e.g.&nbsp;</span><span style="COLOR: #000000">13</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">01</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">8</span><span style="COLOR: #000000">)<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">X&nbsp;标准的时间串&nbsp;Complete&nbsp;time&nbsp;representation&nbsp;(e.g.&nbsp;</span><span style="COLOR: #000000">17</span><span style="COLOR: #000000">:</span><span style="COLOR: #000000">02</span><span style="COLOR: #000000">:</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">)<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">y&nbsp;不带世纪的十进制年份（值从0到99）Year&nbsp;number&nbsp;within&nbsp;century<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">Y&nbsp;带世纪部分的十制年份&nbsp;Year&nbsp;number<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">z，</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">Z&nbsp;时区名称，如果不能得到时区名称则返回空字符。Name&nbsp;of&nbsp;time&nbsp;zone<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">%%</span><span style="COLOR: #000000">&nbsp;百分号<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span></div>
<img src ="http://www.cppblog.com/aaxron/aggbug/141257.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aaxron/" target="_blank">天下</a> 2011-03-07 11:22 <a href="http://www.cppblog.com/aaxron/archive/2011/03/07/141257.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[原创]Python 各进制间的转换</title><link>http://www.cppblog.com/aaxron/archive/2011/02/28/140785.html</link><dc:creator>天下</dc:creator><author>天下</author><pubDate>Mon, 28 Feb 2011 05:03:00 GMT</pubDate><guid>http://www.cppblog.com/aaxron/archive/2011/02/28/140785.html</guid><wfw:comment>http://www.cppblog.com/aaxron/comments/140785.html</wfw:comment><comments>http://www.cppblog.com/aaxron/archive/2011/02/28/140785.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/aaxron/comments/commentRss/140785.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aaxron/services/trackbacks/140785.html</trackback:ping><description><![CDATA[<p>最近在做协议分析时经常要用些进制间的转换函数.<br>记录存档:</p>
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-FAMILY: Verdana; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><span style="COLOR: #008000">#</span><span style="COLOR: #008000">python&nbsp;2.6以后内置函数</span><span style="COLOR: #008000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #008000">#</span><span style="COLOR: #008000">10进制转为2进制</span><span style="COLOR: #008000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">&gt;&gt;&gt;</span><span style="COLOR: #000000">&nbsp;bin(</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">)<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #800000">'</span><span style="COLOR: #800000">0b1010</span><span style="COLOR: #800000">'</span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #008000">#</span><span style="COLOR: #008000">2进制转为10进制</span><span style="COLOR: #008000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">&gt;&gt;&gt;</span><span style="COLOR: #000000">&nbsp;int(</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">1001</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">)<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">9</span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #008000">#</span><span style="COLOR: #008000">10进制转为16进制</span><span style="COLOR: #008000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">&gt;&gt;&gt;</span><span style="COLOR: #000000">&nbsp;hex(</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">)<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #800000">'</span><span style="COLOR: #800000">0xa</span><span style="COLOR: #800000">'</span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #008000">#</span><span style="COLOR: #008000">16进制到10进制</span><span style="COLOR: #008000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">&gt;&gt;&gt;</span><span style="COLOR: #000000">&nbsp;int(</span><span style="COLOR: #800000">'</span><span style="COLOR: #800000">ff</span><span style="COLOR: #800000">'</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">16</span><span style="COLOR: #000000">)<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">255</span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">&gt;&gt;&gt;</span><span style="COLOR: #000000">&nbsp;int(</span><span style="COLOR: #800000">'</span><span style="COLOR: #800000">0xab</span><span style="COLOR: #800000">'</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">16</span><span style="COLOR: #000000">)<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">171</span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #008000">#</span><span style="COLOR: #008000">十进制转为八进制</span><span style="COLOR: #008000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #0000ff">print</span><span style="COLOR: #000000">(</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">%o</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">)<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">12</span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #008000">#</span><span style="COLOR: #008000">16进制到2进制</span><span style="COLOR: #008000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">&gt;&gt;&gt;</span><span style="COLOR: #000000">&nbsp;bin(</span><span style="COLOR: #000000">0xa</span><span style="COLOR: #000000">)<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #800000">'</span><span style="COLOR: #800000">0b1010</span><span style="COLOR: #800000">'</span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">&gt;&gt;&gt;</span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span></div>
<br>
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #008000">#</span><span style="COLOR: #008000">10进制到8进制</span><span style="COLOR: #008000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">&gt;&gt;&gt;</span><span style="COLOR: #000000">&nbsp;oct(</span><span style="COLOR: #000000">8</span><span style="COLOR: #000000">)<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #800000">'</span><span style="COLOR: #800000">010</span><span style="COLOR: #800000">'</span><span style="COLOR: #000000">&nbsp;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #008000">#</span><span style="COLOR: #008000">2进制到16进制</span><span style="COLOR: #008000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000">&gt;&gt;&gt;</span><span style="COLOR: #000000">&nbsp;hex(0b1001)<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #800000">'</span><span style="COLOR: #800000">0x9</span><span style="COLOR: #800000">'</span></div>
<br>
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><span style="COLOR: #008000">#</span><span style="COLOR: #008000">IP地址之间的转换</span><span style="COLOR: #008000"><br></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;<span style="COLOR: #ff0000">socket</span><br></span><span style="COLOR: #0000ff">import <span style="COLOR: #ff0000">time</span><br>import</span><span style="COLOR: #000000">&nbsp;<span style="COLOR: #ff0000">struct<br></span><br></span><span style="COLOR: #0000ff">def</span><span style="COLOR: #000000">&nbsp;ip2hex&nbsp;(ip):<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;hex(struct.unpack(</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">!I</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">,&nbsp;socket.inet_aton(ip))[0])<br>&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #0000ff">def</span><span style="COLOR: #000000">&nbsp;ip2long&nbsp;(ip):<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;<span style="COLOR: #ff0000">struct</span>.unpack(</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">!I</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">,&nbsp;socket.inet_aton(ip))[0]&nbsp;&nbsp;&nbsp;&nbsp;<br><br></span><span style="COLOR: #0000ff">def</span><span style="COLOR: #000000">&nbsp;long2ip&nbsp;(lint):<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;<span style="COLOR: #ff0000">socket</span>.inet_ntoa(struct.pack(</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">!I</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">,&nbsp;lint))<br><br><span style="COLOR: #008000">#</span><span style="COLOR: #008000">时间戳格式化</span><br><span style="COLOR: #0000ff">def</span> l2t (lint):<br>&nbsp;&nbsp;&nbsp; <span style="COLOR: #0000ff">return</span> <span style="COLOR: #ff0000">time</span>.strftime(<span style="COLOR: #800000">"%Y-%m-%d %H:%M:%S"</span>,time.localtime(lint))<br></span></div>
<img src ="http://www.cppblog.com/aaxron/aggbug/140785.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aaxron/" target="_blank">天下</a> 2011-02-28 13:03 <a href="http://www.cppblog.com/aaxron/archive/2011/02/28/140785.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux usermod -p 修改用户密码</title><link>http://www.cppblog.com/aaxron/archive/2010/12/02/135251.html</link><dc:creator>天下</dc:creator><author>天下</author><pubDate>Thu, 02 Dec 2010 03:07:00 GMT</pubDate><guid>http://www.cppblog.com/aaxron/archive/2010/12/02/135251.html</guid><wfw:comment>http://www.cppblog.com/aaxron/comments/135251.html</wfw:comment><comments>http://www.cppblog.com/aaxron/archive/2010/12/02/135251.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/aaxron/comments/commentRss/135251.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aaxron/services/trackbacks/135251.html</trackback:ping><description><![CDATA[<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%; font-family: Verdana;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">Linux&nbsp;usermod&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">p&nbsp;修改用户密码<br><br>passwd也可以修改口令，但是这是一种交互式的方式，需要用户干预。当然也可以使用重定向或者管道向passwd喂数据，暂且不提。<br><br>linux下增加用户的命令是useradd，修改用户的命令是usermod，二者都有一个参数&nbsp;&#8211;p，这个参数可以直接指定用户的口令，但是需要注意的是，这个口令并不是明文，而是经过加密的一个字串。<br><br>linux下可以用python编辑器通过编程的方法得到加密字串（linux下用python命令启动编辑器）：<br><br>下面是一个完整的过程，蓝色字体的是用户输入的命令，而红色的是系统输出。<br><br></span><span style="color: #000000;">============================================</span><span style="color: #000000;"><br><br>[root@linux&nbsp;</span><span style="color: #000000;">~</span><span style="color: #000000;">]</span><span style="color: #008000;">#</span><span style="color: #008000;">&nbsp;python</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br>Python&nbsp;</span><span style="color: #000000;">2.3</span><span style="color: #000000;">.</span><span style="color: #000000;">4</span><span style="color: #000000;">&nbsp;(</span><span style="color: #008000;">#</span><span style="color: #008000;">1,&nbsp;Oct&nbsp;26&nbsp;2004,&nbsp;16:42:40)&nbsp;</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br>[GCC&nbsp;</span><span style="color: #000000;">3.4</span><span style="color: #000000;">.</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">20041017</span><span style="color: #000000;">&nbsp;(Red&nbsp;Hat&nbsp;</span><span style="color: #000000;">3.4</span><span style="color: #000000;">.</span><span style="color: #000000;">2</span><span style="color: #000000;">-</span><span style="color: #000000;">6</span><span style="color: #000000;">.fc3)]&nbsp;on&nbsp;linux2<br><br>Type&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">help</span><span style="color: #800000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">copyright</span><span style="color: #800000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">credits</span><span style="color: #800000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">or</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">license</span><span style="color: #800000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;more&nbsp;information.<br><br></span><span style="color: #000000;">&gt;&gt;&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;crypt;</span><span style="color: #0000ff;">print</span><span style="color: #000000;">(crypt.crypt(</span><span style="color: #800000;">"</span><span style="color: #800000;">your&nbsp;password</span><span style="color: #800000;">"</span><span style="color: #000000;">,</span><span style="color: #800000;">"</span><span style="color: #800000;">ab</span><span style="color: #800000;">"</span><span style="color: #000000;">));<br><br>ab62Jfo2yjBEo<br><br></span><span style="color: #000000;">&gt;&gt;&gt;</span><span style="color: #000000;">&nbsp;<br><br></span><span style="color: #000000;">============================================</span><span style="color: #000000;"><br><br>上面用户输入信息中的&#8220;your&nbsp;password&#8221;可以替换为需要加密的口令，&#8220;ab&#8221;可替换为任意的两个大小写字符或者数字，而&#8220;ab62Jfo2yjBEo&#8221;就是加密后的密文。<br><br><br>一个简单的例子如下：<br><br>useradd&nbsp;&#8211;p&nbsp;ab62Jfo2yjBEo&nbsp;testuser<br><br>usermod&nbsp;&#8211;p&nbsp;ab62Jfo2yjBEo&nbsp;testuser&nbsp;<br>&nbsp;<br></span></div>
<br><img src ="http://www.cppblog.com/aaxron/aggbug/135251.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aaxron/" target="_blank">天下</a> 2010-12-02 11:07 <a href="http://www.cppblog.com/aaxron/archive/2010/12/02/135251.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>非纯VC/C++/python超级群:88028655 ,欢迎加入.</title><link>http://www.cppblog.com/aaxron/archive/2010/10/28/131633.html</link><dc:creator>天下</dc:creator><author>天下</author><pubDate>Thu, 28 Oct 2010 07:21:00 GMT</pubDate><guid>http://www.cppblog.com/aaxron/archive/2010/10/28/131633.html</guid><wfw:comment>http://www.cppblog.com/aaxron/comments/131633.html</wfw:comment><comments>http://www.cppblog.com/aaxron/archive/2010/10/28/131633.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/aaxron/comments/commentRss/131633.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aaxron/services/trackbacks/131633.html</trackback:ping><description><![CDATA[<br />VC/C++/python交流(超级) 群:88028655 <br />欢迎资深或即将资深的C++技术人员，<br />c/c++/vc/mfc/python <br /><br />纯C/C++技术(普通)群:<br />43568864 <br /><br /><br /><br /><br /><br /><br /><img src ="http://www.cppblog.com/aaxron/aggbug/131633.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aaxron/" target="_blank">天下</a> 2010-10-28 15:21 <a href="http://www.cppblog.com/aaxron/archive/2010/10/28/131633.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>