﻿<?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/deercoder/category/16974.html</link><description>&lt;P&gt;&lt;FONT style="FONT-SIZE: 20px" color=#ff0000&gt;积累，坚持！&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="FONT-SIZE: 20px" color=#ff0000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ---------我是一只IT小小鸟&lt;/FONT&gt;&lt;/P&gt;</description><language>zh-cn</language><lastBuildDate>Tue, 08 Jan 2013 04:49:39 GMT</lastBuildDate><pubDate>Tue, 08 Jan 2013 04:49:39 GMT</pubDate><ttl>60</ttl><item><title>GoAgent 启动提示端口被占用</title><link>http://www.cppblog.com/deercoder/archive/2013/01/07/197088.html</link><dc:creator>deercoder</dc:creator><author>deercoder</author><pubDate>Mon, 07 Jan 2013 14:14:00 GMT</pubDate><guid>http://www.cppblog.com/deercoder/archive/2013/01/07/197088.html</guid><wfw:comment>http://www.cppblog.com/deercoder/comments/197088.html</wfw:comment><comments>http://www.cppblog.com/deercoder/archive/2013/01/07/197088.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/deercoder/comments/commentRss/197088.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/deercoder/services/trackbacks/197088.html</trackback:ping><description><![CDATA[<div>试用GoAgent代理出现如下错误提示：<br />ryan@ubuntu:/media/Program/wallproxy-wallproxy-49c6d7d/local$ ./startup.py <br />Warning: Listen on 127.0.0.1:8086 failed, listen on 0.0.0.0:8086 instead.<br />Traceback (most recent call last):<br />&nbsp; File "./startup.py", line 8, in &lt;module&gt;<br />&nbsp;&nbsp;&nbsp; main()<br />&nbsp; File "&lt;string&gt;", line 1510, in _______<br />&nbsp; File "&lt;string&gt;", line 1475, in _93<br />&nbsp; File "&lt;string&gt;", line 1469, in _17<br />&nbsp; File "&lt;string&gt;", line 1449, in _36<br />&nbsp; File "&lt;string&gt;", line 1311, in __init__<br />&nbsp; File "/usr/lib/python2.7/SocketServer.py", line 408, in __init__<br />&nbsp;&nbsp;&nbsp; self.server_bind()<br />&nbsp; File "/usr/lib/python2.7/SocketServer.py", line 419, in server_bind<br />&nbsp;&nbsp;&nbsp; self.socket.bind(self.server_address)<br />&nbsp; File "/usr/lib/python2.7/socket.py", line 224, in meth<br />&nbsp;&nbsp;&nbsp; return getattr(self._sock,name)(*args)<br />socket.error: [Errno 98] Address already in use<br /><br />根据错误信息，应该是端口被占用。<br />运行：lsof -i:8086<br /><div>COMMAND&nbsp; PID USER&nbsp;&nbsp; FD&nbsp;&nbsp; TYPE DEVICE SIZE/OFF NODE NAME<br />python&nbsp; 2848 ryan&nbsp;&nbsp;&nbsp; 3u&nbsp; IPv4&nbsp; 28758&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0t0&nbsp; TCP localhost:8086 (LISTEN)<br />发现端口8086已经背python程序占用，kill 对应的pid，然后重启local下面的startup.py，在浏览器中设置对应的代理地址，即可。</div><br /></div><img src ="http://www.cppblog.com/deercoder/aggbug/197088.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/deercoder/" target="_blank">deercoder</a> 2013-01-07 22:14 <a href="http://www.cppblog.com/deercoder/archive/2013/01/07/197088.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Python字符串换行处理</title><link>http://www.cppblog.com/deercoder/archive/2012/07/08/182137.html</link><dc:creator>deercoder</dc:creator><author>deercoder</author><pubDate>Sat, 07 Jul 2012 16:52:00 GMT</pubDate><guid>http://www.cppblog.com/deercoder/archive/2012/07/08/182137.html</guid><wfw:comment>http://www.cppblog.com/deercoder/comments/182137.html</wfw:comment><comments>http://www.cppblog.com/deercoder/archive/2012/07/08/182137.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/deercoder/comments/commentRss/182137.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/deercoder/services/trackbacks/182137.html</trackback:ping><description><![CDATA[最近看了一点点Python的东西，感觉这门语言非常强大，已经到了令人发指的程度，结果是，想要实现的很多功能都可以用极为简单的几句代码实现，难怪这么语言这么有生命力。至于说它让人变的更笨，让人脱离底层处理，忽视了基本的硬件了解这种指责，或者说它让程序员的工作和生活更加便利等争论，我也没有多大的兴趣去了解，语言只是工具，为我所用而已。<br /><br />虽然了解不多，不过感觉处理文件和字符串非常强大，因此就有一个需求，希望将网上copy的连续的单词组成的字符串按照空格分割开来，并重新写入到文件中，这样文件的每一行都是一个单词，而且后面还可以加入注释。由于手动换行非常麻烦，所以希望用python来实现这个简单的小功能。<br />具体实现代码如下，确实非常简单：<br /><div class="vimiumReset vimiumHUD" style="right: 150px; opacity: 0; display: none; "></div><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 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; ">!&nbsp;/usr/bin/python</span><span style="color: #008000; "><br />#</span><span style="color: #008000; ">Description:&nbsp;read&nbsp;file&nbsp;and&nbsp;arrange&nbsp;them&nbsp;in&nbsp;lines&nbsp;by&nbsp;words</span><span style="color: #008000; "><br /></span><br />file&nbsp;=&nbsp;open(<span style="color: #800000; ">"</span><span style="color: #800000; ">test</span><span style="color: #800000; ">"</span>,&nbsp;<span style="color: #800000; ">"</span><span style="color: #800000; ">r</span><span style="color: #800000; ">"</span>)<br />str&nbsp;=&nbsp;file.read()<br />tup&nbsp;=&nbsp;str.split(<span style="color: #800000; ">"</span><span style="color: #800000; ">&nbsp;</span><span style="color: #800000; ">"</span>)<br />writeStr&nbsp;=&nbsp;<span style="color: #800000; ">""</span><br /><span style="color: #0000FF; ">for</span>&nbsp;i&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;tup:<br />&nbsp;&nbsp;&nbsp;&nbsp;writeStr&nbsp;+=&nbsp;i&nbsp;+&nbsp;<span style="color: #800000; ">"</span><span style="color: #800000; ">\n</span><span style="color: #800000; ">"</span><br />outfile&nbsp;=&nbsp;open(<span style="color: #800000; ">"</span><span style="color: #800000; ">out</span><span style="color: #800000; ">"</span>,&nbsp;<span style="color: #800000; ">"</span><span style="color: #800000; ">w</span><span style="color: #800000; ">"</span>)<br />outfile.write(writeStr)<br /><span style="color: #0000FF; ">print</span>&nbsp;tup</div><br />确实非常简单，最后也实现了想要的效果。后续需要想办法加入查询的过哦你你，即对每一行的这个单词，想办法查询它的意思，然后一起写进去，这样，copy的这个连串的字符串就能够得到每一个单词的释义了。<br /><br />另外，VIM有一个很好的功能，使用J，在命令模式下可以连接成一行，因此文件开始的时候是：<br /><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">&nbsp;### filename: out<br />impart<br />apotheosis<br />pulp<br />nobility<br />reimburse<br />flora<br />deliberately<br />twine<br />heresy<br />effluent<br />condone<br />flout<br />sermon<br />concur<br />elation<br />slab<br />aerate<br />backdrop<br />emblem<br />chicanery<br />disqualify<br />hypersensitive<br />fitful<br />coil<br />irresolute<br />contemptible<br />hinge<br />tectonics<br />bicker<br />tilted<br />collaborate<br />salutary<br />annul<br />vex<br />maxim<br />scanty<br />reptile<br />transfix<br />impending<br />intersect<br />drill<br />inviting<br />retreat<br />serrated</div><br />经过VIM处理之后就变成了一行：<br /><br /><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 />-->### filename: test ####<br />impart&nbsp;apotheosis&nbsp;pulp&nbsp;nobility&nbsp;reimburse&nbsp;flora&nbsp;deliberately&nbsp;twine&nbsp;heresy&nbsp;effluent&nbsp;condone&nbsp;flout&nbsp;sermon&nbsp;concur&nbsp;elation&nbsp;slab&nbsp;aerate&nbsp;backdrop&nbsp;emblem&nbsp;chicanery&nbsp;disqualify&nbsp;hypersensitive&nbsp;fitful&nbsp;coil&nbsp;irresolute&nbsp;contemptible&nbsp;hinge&nbsp;tectonics&nbsp;bicker&nbsp;tilted&nbsp;collaborate&nbsp;salutary&nbsp;annul&nbsp;vex&nbsp;maxim&nbsp;scanty&nbsp;reptile&nbsp;transfix&nbsp;impending&nbsp;intersect&nbsp;drill&nbsp;inviting&nbsp;retreat&nbsp;serrated</div><br />然后在把这个文件作为输入，经过程序重新写回去，就成为了第一个上面所示的单词，现在在思考哪些地方可以抓取这些单词呢？貌似Google翻译已经没有API支持了，不知道哪位大侠可以给于指导？<img src ="http://www.cppblog.com/deercoder/aggbug/182137.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/deercoder/" target="_blank">deercoder</a> 2012-07-08 00:52 <a href="http://www.cppblog.com/deercoder/archive/2012/07/08/182137.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>GAE入门：Hello World出错------Invalid arguments</title><link>http://www.cppblog.com/deercoder/archive/2011/05/20/146835.html</link><dc:creator>deercoder</dc:creator><author>deercoder</author><pubDate>Fri, 20 May 2011 14:55:00 GMT</pubDate><guid>http://www.cppblog.com/deercoder/archive/2011/05/20/146835.html</guid><wfw:comment>http://www.cppblog.com/deercoder/comments/146835.html</wfw:comment><comments>http://www.cppblog.com/deercoder/archive/2011/05/20/146835.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cppblog.com/deercoder/comments/commentRss/146835.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/deercoder/services/trackbacks/146835.html</trackback:ping><description><![CDATA[<p>在GAE入门程序Hello World中，按照<a href="http://xuming.net/2008/04/google-app-engine-tutorial-2.html"><u><font color="#0066cc">http://xuming.net/2008/04/google-app-engine-tutorial-2.html</font></u></a>（google主页也有相应的中文文档）中的方法，编写相应的app.yaml和helloworld.py后，运行到下一步出现问题，原始应该输入的命令是：<span style="text-align: ; widows: 2; text-transform: none; text-indent: 0px; letter-spacing: normal; border-collapse: separate; font: medium 'Lucida Console'; white-space: normal; orphans: 2; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="line-height: 21px; font-family: Helvetica, Arial, sans-serif; font-size: 14px" class="Apple-style-span"></span></span></p><pre style="border-bottom: #bbbbbb 1px solid; border-left: #bbbbbb 1px solid; padding-bottom: 0.99em; line-height: 15px; overflow-x: auto; overflow-y: auto; background-color: #fafafa; margin: 1em 0pt 0pt; padding-left: 0.99em; padding-right: 0.99em; font-family: monospace; color: #007000; font-size: 9pt; border-top: #bbbbbb 1px solid; border-right: #bbbbbb 1px solid; padding-top: 0.99em">google_appengine/dev_appserver.py helloworld/</pre>
<p><br />经过我多次试验发现仍然出现下面的问题：<br />C:\Program Files\Google\google_appengine&gt;dev_appserver.py helloworld\<br />Invalid arguments<br />Runs a development application server for an application.</p>
<p>dev_appserver.py [options] &lt;application root&gt;</p>
<p>Application root must be the path to the application to run in this server.<br />Must contain a valid app.yaml or app.yml file.</p>参数无效，导致认为我没有相应的yaml文件，实际上是存在的。为此上网查找资料，发现不少老外也遇到了这个问题。<br /><br />参考资料：<a href="http://www.dooz.se/blog/?p=26"><u><font color="#0066cc">http://www.dooz.se/blog/?p=26</font></u></a><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://tombrander.wordpress.com/2008/12/28/getting-started-with-google-app-engine-hello-world/"><u><font color="#0066cc">http://tombrander.wordpress.com/2008/12/28/getting-started-with-google-app-engine-hello-world/</font></u></a><br /><br />问题出现在：如果在Dos下输入相应的命令会提示无效，而在python环境中输入就没有问题。另外，使用python dev_appserver.py helloworld也没有出现问题，分析问题出在python的环境变量设置的问题。<br /><br />运行python程序，发现原来文件已经被破坏，但是在命令行下能够使用，重装python 2.6后，继续运行，发现使用上面两种解决办法是可以的，加入python到系统环境中，发现仍然不行，依照上面两个博客的内容发现是相同的问题，只能使用这种办法来解决。<br /><br />要么使用python命令在Dos中输入python dev_appserver.py helloworld，要么进入python的控制端输入命令。 <br /><br /><br />另外，由于GAE开发环境是在python 2.5版本的基础上，所以如果有更高的版本，比如python 2.6，那么可能会出现新的特性不能使用，甚至会出现<br />很多错误，这个在上面徐明的博客上面也有述，所以最好使用的是python 2.5版本进行GAE程序的开发。<img src ="http://www.cppblog.com/deercoder/aggbug/146835.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/deercoder/" target="_blank">deercoder</a> 2011-05-20 22:55 <a href="http://www.cppblog.com/deercoder/archive/2011/05/20/146835.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>