ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>中文字幕精品三区,国产拍精品一二三,精品国产一区二区三区久久久蜜臀
http://www.aygfsteel.com/JafeLee/category/24769.htmlzh-cnFri, 17 Aug 2007 09:57:03 GMTFri, 17 Aug 2007 09:57:03 GMT60- å¦ä¹ (f¨¤n)python package记录 (转è²)http://www.aygfsteel.com/JafeLee/articles/137085.htmlJafeJafeWed, 15 Aug 2007 15:51:00 GMThttp://www.aygfsteel.com/JafeLee/articles/137085.htmlhttp://www.aygfsteel.com/JafeLee/comments/137085.htmlhttp://www.aygfsteel.com/JafeLee/articles/137085.html#Feedback0http://www.aygfsteel.com/JafeLee/comments/commentRss/137085.htmlhttp://www.aygfsteel.com/JafeLee/services/trackbacks/137085.htmlhttp://python.cn/pipermail/python-chinese/2005-July/012513.html
 (t¨©ng) (t¨©ng) (t¨©ng) å› äØ“(f¨´)以å‰éƒ½æ˜¯å†™å°½E‹åºåQŒæ‰€æœ‰çš„½E‹åºæ–‡äšg都在一个目录下é¢ï¼Œæ‰€ä»¥ä¹Ÿæ²¡æœ‰ç”¨package。也看了(ji¨£n)一点点package的东西,感觉pythonçš„package比java夿‚多了(ji¨£n)åQŒå°±æ²¡æœ‰å¦ä¸‹åŽ…R€‚如果实在è¦åˆ†ç›®å½•,那么ž®±æŠŠæ‰€æœ‰çš„ç›®å½•éƒ½åŠ åˆ°python path里好äº?ji¨£n)ã€‚è¿™å®žåœ¨æ˜¯ä¸€ä¸ªå·æ‡’的办法ã€?_~但是åQŒæ²¡æœ‰packageåQŒç”¨èµäh¥æ€ÀL˜¯ä¸çˆ½ã€‚å‰å‡ 天è¦é‡æ–°ç»„¾l‡ä¸€ä¸ªæ¯”è¾ƒå¤§çš„ç¨‹åºæ—¶åQŒæˆ‘å‘现ä¸ç”¨package实在是ä¸è¡Œäº†(ji¨£n)ã€?br /> (t¨©ng) (t¨©ng) (t¨©ng) 扄¡‚¹èµ„料看看。。。自带的tutorial没有多少内容,ä¸è¿‡æˆ‘还有learning pythonã€?˜q™æœ¬ä¹¦å†…å®ÒŽ(gu¨©)Œºå¤šï¼Œž®±æ˜¯¾|—å—¦äº?ji¨£n)一点:(x¨¬)åQ‰ã€‚è¿žè’™å¸¦çŒœåŠ å®žè·µåQŒæˆ‘¾lˆäºŽä¼?x¨¬)用了(ji¨£n)package。写下楾l™åƒæˆ‘ä¸€æ ·å·æ‡’,˜q˜ä(sh¨´)¸ä¼?x¨¬)用package的朋å‹ã€‚其实说èµäh¥ä¹ŸæŒº½Ž€å•的。看äº?ji¨£n)下é¢çš„例åä½ è‚¯å®šä¹Ÿèƒ½å¤Ÿç”¨packageäº?ji¨£n)ã€?br />
å‡è®¾ä½ 所有的工程都在/home/youname/mypython下é¢åQŒçŽ°åœ¨æœ‰ä¸€ä¸ªå·¥½E‹å«project1。libåQŒå’Œplugin是project1下的å目录,main.py 是主入å£åQŒè§ä¸‹å›¾ã€?br />
mypython/
`-- project1
 (t¨©ng) (t¨©ng) (t¨©ng) |-- __init__.py
 (t¨©ng) (t¨©ng) (t¨©ng) |-- main.py
 (t¨©ng) (t¨©ng) (t¨©ng) |-- lib
 (t¨©ng) (t¨©ng) (t¨©ng) | (t¨©ng) (t¨©ng) |-- __init__.py
 (t¨©ng) (t¨©ng) (t¨©ng) | (t¨©ng) (t¨©ng) `-- lib1.py
 (t¨©ng) (t¨©ng) (t¨©ng) `-- plugin
 (t¨©ng) (t¨©ng) (t¨©ng) (t¨©ng) (t¨©ng) (t¨©ng) (t¨©ng) |-- __init__.py
 (t¨©ng) (t¨©ng) (t¨©ng) (t¨©ng) (t¨©ng) (t¨©ng) (t¨©ng) `-- plugin1.py
1�准备工作
首先åQŒåœ¨æ¯ä¸ªç›®å½•䏋颿”¾ä¸€ä¸ª__init__.pyåQŒåŒ…æ‹¬æ ¹ç›®å½•project1ã€‚è¿™æ ·project1æ‰èƒ½è¢«pythonè®¤äØ“(f¨´)是一个完整的package。__init__.pyåªæ˜¯ä¸€ä¸ªå£°æ˜Žï¼Œå®ƒå¯ä»¥äØ“(f¨´)½Iºã€‚ç„¶åŽæŠŠmypythonç›®å½•åŠ å…¥python pathåQŒæ¯”如sys.path.append("/home/yourname/mypython")
2。import package里的module
在main.py 里,如果è¦å¯¼å…¥lib/lib1.py
 (t¨©ng) (t¨©ng) (t¨©ng) import project1.lib.lib1 #或è€?br /> (t¨©ng) (t¨©ng) (t¨©ng) import lib.lib1 #python ä¼?x¨¬)首先æœç´¢å½“å‰ç›®å½•ï¼Œæ‰€ä»¥è¿™æ ·å†™ä¹Ÿæ˜¯å¯ä»¥çš?br />
在plugin.py里,è¦å¯¼å…¥lib/lib1.py
 (t¨©ng) (t¨©ng) (t¨©ng) import project1.lib.lib1
在project1之外åQŒè¦å¯¼å…¥lib/lib1.py
 (t¨©ng) (t¨©ng) (t¨©ng) import project1.lib.lib1
好了(ji¨£n)åQŒåˆ°æ¤äØ“(f¨´)æ¢ã€‚packagež®±æ˜¯˜q™ä¹ˆ½Ž€å•ï¼

]]> - Pythonã€Unicodeå’Œä¸æ–?/title><link>http://www.aygfsteel.com/JafeLee/articles/135647.html</link><dc:creator>Jafe</dc:creator><author>Jafe</author><pubDate>Thu, 09 Aug 2007 14:14:00 GMT</pubDate><guid>http://www.aygfsteel.com/JafeLee/articles/135647.html</guid><wfw:comment>http://www.aygfsteel.com/JafeLee/comments/135647.html</wfw:comment><comments>http://www.aygfsteel.com/JafeLee/articles/135647.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/JafeLee/comments/commentRss/135647.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/JafeLee/services/trackbacks/135647.html</trackback:ping><description><![CDATA[
<p>原文地å€åQ?a >http://blog.163.com/fluxray_sensor/blog/static/296510152007421115322149/</a><br /></p>
<p>pythonçš„ä¸æ–‡é—®é¢˜ä(sh¨´)¸€ç›´æ˜¯å›°æ‰°æ–°æ‰‹çš„头疼问题,˜q™ç¯‡æ–‡ç« ž®†ç»™ä½ 详¾l†åœ°è®²è§£ä¸€ä¸‹è¿™æ–šw¢çš„知识。当ç„?d¨°ng)ž¼Œå‡ 乎å¯ä»¥¼‹®å®šçš„æ˜¯åQŒåœ¨ž®†æ¥çš„版本ä¸åQŒpythonä¼?x¨¬)彻底解å†Ïx(ch¨®ng)¤é—®é¢˜åQŒä¸ç”¨æˆ‘们这么麻çƒ?ch¨³)äº?ji¨£n)ã€?/p>
<p>å…ˆæ¥çœ‹çœ‹python的版本:(x¨¬)<br />>>> import sys<br />>>> sys.version<br />'2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)]'</p>
<p>åQˆä¸€åQ?br />用记事本创å¾ä¸€ä¸ªæ–‡ä»¶ChineseTest.pyåQŒé»˜è®¤ANSIåQ?br />s = "䏿–‡"<br />print s</p>
<p>‹¹‹è¯•一下瞧瞧:(x¨¬)<br />E:\Project\Python\Test>python ChineseTest.py<br /> (t¨©ng) File "ChineseTest.py", line 1<br />SyntaxError: Non-ASCII character '\xd6' in file ChineseTest.py on line 1, but no encoding declared; see <a >http://www.pytho</a><br />n.org/peps/pep-0263.html for details</p>
<p>å·å·åœ°æŠŠæ–‡äšg¾~–ç æ”ÒŽ(gu¨©)ˆUTF-8åQ?br />E:\Project\Python\Test>python ChineseTest.py<br /> (t¨©ng) File "ChineseTest.py", line 1<br />SyntaxError: Non-ASCII character '\xe4' in file ChineseTest.py on line 1, but no encoding declared; see <a >http://www.pytho</a><br />n.org/peps/pep-0263.html for details</p>
<p>æ— æµŽäºŽäº‹ã€‚ã€‚ã€?br />既然它æä¾›äº†(ji¨£n)¾|‘å€åQŒé‚£ž®Þqœ‹çœ‹å§ã€‚简å•地‹¹è§ˆä¸€ä¸‹ï¼Œ¾lˆäºŽçŸ¥é“如果文äšg里有éžASCIIå—符åQŒéœ€è¦åœ¨½W¬ä¸€è¡Œæˆ–½W¬äºŒè¡ŒæŒ‡å®šç¼–ç 声明。把ChineseTest.pyæ–‡äšg的编ç 釿–°æ”¹ä¸ºANSIåQŒåÆˆåŠ ä¸Š¾~–ç 声明åQ?br /># coding=gbk<br />s = "䏿–‡"<br />print s</p>
<p>å†è¯•一下:(x¨¬)<br />E:\Project\Python\Test>python ChineseTest.py<br />䏿–‡</p>
<p>æ£å¸¸å’¯ï¼š(x¨¬)åQ?br />åQˆäºŒåQ?br />看一看它的长度:(x¨¬)<br /># coding=gbk<br />s = "䏿–‡"<br />print len(s)<br />¾l“æžœåQ?ã€?br />s˜q™é‡Œæ˜¯str¾cÕdž‹åQŒæ‰€ä»¥è®¡½Ž—çš„æ—¶å€™ä¸€ä¸ªä¸æ–‡ç›¸å½“于两个英文å—符åQŒå› æ¤é•¿åº¦äØ“(f¨´)4ã€?br />我们˜q™æ ·å†?<br /># coding=gbk<br />s = "䏿–‡"<br />s1 = u"䏿–‡"<br />s2 = unicode(s, "gbk") #çœç•¥å‚æ•°ž®†ç”¨python默认的ASCIIæ¥è§£ç ?br />s3 = s.decode("gbk") #把strè½¬æ¢æˆunicode是decodeåQŒunicode函数作用与之相åŒ<br />print len(s1)<br />print len(s2)<br />print len(s3)<br />¾l“æžœåQ?br />2<br />2<br />2<br />åQˆä¸‰åQ?br />æŽ¥ç€æ¥çœ‹çœ‹æ–‡ä»¶çš„处ç†åQ?br />建立一个文件test.txtåQŒæ–‡ä»¶æ ¼å¼ç”¨ANSIåQŒå†…容䨓(f¨´):<br />abc䏿–‡<br />用pythonæ¥è¯»å?br /># coding=gbk<br />print open("Test.txt").read()<br />¾l“æžœåQšabc䏿–‡<br />æŠŠæ–‡ä»¶æ ¼å¼æ”¹æˆUTF-8åQ?br />¾l“æžœåQšabcæ¶“î…Ÿæž?br />昄¡„¶åQŒè¿™é‡Œéœ€è¦è§£ç :(x¨¬)<br /># coding=gbk<br />import codecs<br />print open("Test.txt").read().decode("utf-8")<br />¾l“æžœåQšabc䏿–‡<br />上é¢çš„test.txt我是用Editplusæ¥ç¼–辑的åQŒä½†å½“我用Windows自带的记事本¾~–辑òq¶å˜æˆUTF-8æ ¼å¼æ—Óž¼Œ<br />˜q行时报错:(x¨¬)<br />Traceback (most recent call last):<br /> (t¨©ng) File "ChineseTest.py", line 3, in <module><br /> (t¨©ng) (t¨©ng) (t¨©ng) print open("Test.txt").read().decode("utf-8")<br />UnicodeEncodeError: 'gbk' codec can't encode character u'\ufeff' in position 0: illegal multibyte sequence</p>
<p>原æ¥åQŒæŸäº›èÊYä»Óž¼Œå¦‚notepadåQŒåœ¨ä¿å˜?sh¨´)¸€ä¸ªä»¥UTF-8¾~–ç 的文件时åQŒä¼š(x¨¬)在文件开始的地方æ’入三个ä¸å¯è§çš„å—符åQ?xEF 0xBB 0xBFåQŒå³BOMåQ‰ã€?br />å› æ¤æˆ‘ä»¬åœ¨è¯»å–æ—¶éœ€è¦è‡ªå·±åŽ»æŽ‰è¿™äº›å—½W¦ï¼Œpythonä¸çš„codecs module定义äº?ji¨£n)这个常é‡ï¼?x¨¬)<br /># coding=gbk<br />import codecs<br />data = open("Test.txt").read()<br />if data[:3] == codecs.BOM_UTF8:<br /> (t¨©ng)data = data[3:]<br />print data.decode("utf-8")<br />¾l“æžœåQšabc䏿–‡</p>
<p>åQˆå››åQ‰ä¸€ç‚šw—留问é¢?br />在第二部分ä¸åQŒæˆ‘们用unicode函数和decodeæ–ÒŽ(gu¨©)³•把strè½¬æ¢æˆunicodeã€‚äØ“(f¨´)ä»€ä¹ˆè¿™ä¸¤ä¸ªå‡½æ•°çš„å‚æ•°ç”¨"gbk"呢?<br />½W¬ä¸€å应是我们的¾~–ç 声明里用äº?ji¨£n)gbk(# coding=gbk)åQŒä½†çœŸæ˜¯˜q™æ ·åQ?br />ä¿®æ”¹ä¸€ä¸‹æºæ–‡äšgåQ?br /># coding=utf-8<br />s = "䏿–‡"<br />print unicode(s, "utf-8")<br />˜q行åQŒæŠ¥é”™ï¼š(x¨¬)<br />Traceback (most recent call last):<br /> (t¨©ng) File "ChineseTest.py", line 3, in <module><br /> (t¨©ng) (t¨©ng) (t¨©ng) s = unicode(s, "utf-8")<br />UnicodeDecodeError: 'utf8' codec can't decode bytes in position 0-1: invalid data<br />昄¡„¶åQŒå¦‚æžœå‰é¢æ£å¸¸æ˜¯å› 䨓(f¨´)两边都ä‹É用了(ji¨£n)gbkåQŒé‚£ä¹ˆè¿™é‡Œæˆ‘ä¿æŒäº?ji¨£n)两边utf-8一è‡ß_(d¨¢)¼Œä¹Ÿåº”该æ£å¸¸ï¼Œä¸è‡³äºŽæŠ¥é”™ã€?br />更进一æ¥çš„例ååQŒå¦‚果我们这里è{æ¢ä»ç„¶ç”¨gbkåQ?br /># coding=utf-8<br />s = "䏿–‡"<br />print unicode(s, "gbk")<br />¾l“æžœåQšä¸æ–?br />¾˜»é˜…äº?ji¨£n)一½‹‡è‹±æ–‡èµ„料,它大致讲解了(ji¨£n)pythonä¸çš„print原ç†åQ?br />When
Python executes a print statement, it simply passes the output to the
operating system (using fwrite() or something like it), and some other
program is responsible for actually displaying that output on the
screen. For example, on Windows, it might be the Windows console
subsystem that displays the result. Or if you're using Windows and
running Python on a Unix box somewhere else, your Windows SSH client is
actually responsible for displaying the data. If you are running Python
in an xterm on Unix, then xterm and your X server handle the display.</p>
<p>To print data reliably, you must know the encoding that this display program expects.</p>
½Ž€å•地è¯ß_(d¨¢)¼Œpythonä¸çš„print直接把嗽W¦ä¸²ä¼ 递给æ“作¾pÈ»ŸåQŒæ‰€ä»¥ä½ éœ€è¦æŠŠstrè§£ç æˆä¸Žæ“作¾pÈ»Ÿä¸€è‡´çš„æ ¼å¼ã€‚Windows使用CP936(å‡ ä¹Žä¸Žgbk相åŒ)åQŒæ‰€ä»¥è¿™é‡Œå¯ä»¥ä‹É用gbkã€?br />æœ€åŽæµ‹è¯•:(x¨¬)<br /># coding=utf-8<br />s = "䏿–‡"<br />print unicode(s, "cp936")<br />¾l“æžœåQšä¸æ–?img src ="http://www.aygfsteel.com/JafeLee/aggbug/135647.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/JafeLee/" target="_blank">Jafe</a> 2007-08-09 22:14 <a href="http://www.aygfsteel.com/JafeLee/articles/135647.html#Feedback" target="_blank" style="text-decoration:none;">å‘表评论</a></div>]]></description></item></channel></rss> <footer>
<div class="friendship-link">
<a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a>
</div>
</footer>
Ö÷Õ¾Ö©Öë³ØÄ£°å£º
<a href="http://" target="_blank">¸»Ô´ÏØ</a>|
<a href="http://" target="_blank">Ñô³ÇÏØ</a>|
<a href="http://" target="_blank">°×³ÇÊÐ</a>|
<a href="http://" target="_blank">»·áÏØ</a>|
<a href="http://" target="_blank">´óÒ¦ÏØ</a>|
<a href="http://" target="_blank">ºº´¨ÊÐ</a>|
<a href="http://" target="_blank">ÂÞÔ´ÏØ</a>|
<a href="http://" target="_blank">·½³ÇÏØ</a>|
<a href="http://" target="_blank">ÌåÓý</a>|
<a href="http://" target="_blank">¾¸½ÊÐ</a>|
<a href="http://" target="_blank">µÂÖÝÊÐ</a>|
<a href="http://" target="_blank">ÀϺӿÚÊÐ</a>|
<a href="http://" target="_blank">ÂúÖÞÀïÊÐ</a>|
<a href="http://" target="_blank">ä¬ÄÏÊÐ</a>|
<a href="http://" target="_blank">ͨ»¯ÏØ</a>|
<a href="http://" target="_blank">´ó³§</a>|
<a href="http://" target="_blank">¹óÄÏÏØ</a>|
<a href="http://" target="_blank">ÌåÓý</a>|
<a href="http://" target="_blank">ÎÚ³ľÆëÊÐ</a>|
<a href="http://" target="_blank">ÕżҿÚÊÐ</a>|
<a href="http://" target="_blank">·¨¿âÏØ</a>|
<a href="http://" target="_blank">ÀÈøÊÐ</a>|
<a href="http://" target="_blank">ÄþµÂÊÐ</a>|
<a href="http://" target="_blank">Ä«½</a>|
<a href="http://" target="_blank">ºÍÌïÏØ</a>|
<a href="http://" target="_blank">Ì쳤ÊÐ</a>|
<a href="http://" target="_blank">ʯ¼ÒׯÊÐ</a>|
<a href="http://" target="_blank">¶«Ô´ÏØ</a>|
<a href="http://" target="_blank">Ã÷Ë®ÏØ</a>|
<a href="http://" target="_blank">éÅ½ÏØ</a>|
<a href="http://" target="_blank">Ñúå¨</a>|
<a href="http://" target="_blank">²©°×ÏØ</a>|
<a href="http://" target="_blank">¹ÛÌÁÇø</a>|
<a href="http://" target="_blank">·ÚÑôÊÐ</a>|
<a href="http://" target="_blank">Ðí²ýÊÐ</a>|
<a href="http://" target="_blank">ÔÆÑôÏØ</a>|
<a href="http://" target="_blank">ƽÁ¹ÊÐ</a>|
<a href="http://" target="_blank">¿ªÂ³ÏØ</a>|
<a href="http://" target="_blank">ÕżҿÚÊÐ</a>|
<a href="http://" target="_blank">²¼¶û½òÏØ</a>|
<a href="http://" target="_blank">¹ÌÑôÏØ</a>|
<script>
(function(){
var bp = document.createElement('script');
var curProtocol = window.location.protocol.split(':')[0];
if (curProtocol === 'https') {
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
}
else {
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
}
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(bp, s);
})();
</script>
</body>