PageRenderTime 57ms CodeModel.GetById 20ms RepoModel.GetById 1ms app.codeStats 0ms

/doc/python ?????(?) - ????.htm

https://bitbucket.org/wowenwen/code-lib
HTML | 593 lines | 558 code | 23 blank | 12 comment | 0 complexity | e9f9b48e7365d3bed6100a1d58461b2c MD5 | raw file
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <!-- saved from url=(0036)http://www.sou5.cn/archives/646.html -->
  3. <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="zh-CN"><head profile="http://gmpg.org/xfn/11"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  4. <title>python ?????(?) - ????</title>
  5. <meta name="author" content="prower">
  6. <meta name="copyright" content="design by prower">
  7. <link rel="stylesheet" href="./python ?????(?) - ????_files/style.css" type="text/css" media="screen">
  8. <link rel="alternate" type="application/rss+xml" title="???? RSS Feed" href="http://www.sou5.cn/feed">
  9. <link rel="pingback" href="http://www.sou5.cn/xmlrpc.php">
  10. <link rel="archives" title="2012 ???" href="http://www.sou5.cn/archives/date/2012/07">
  11. <link rel="archives" title="2012 ???" href="http://www.sou5.cn/archives/date/2012/06">
  12. <link rel="archives" title="2012 ???" href="http://www.sou5.cn/archives/date/2012/05">
  13. <link rel="archives" title="2012 ???" href="http://www.sou5.cn/archives/date/2012/02">
  14. <link rel="archives" title="2012 ???" href="http://www.sou5.cn/archives/date/2012/01">
  15. <link rel="archives" title="2011 ????" href="http://www.sou5.cn/archives/date/2011/12">
  16. <link rel="archives" title="2011 ????" href="http://www.sou5.cn/archives/date/2011/11">
  17. <link rel="archives" title="2011 ???" href="http://www.sou5.cn/archives/date/2011/10">
  18. <link rel="archives" title="2011 ???" href="http://www.sou5.cn/archives/date/2011/09">
  19. <link rel="archives" title="2011 ???" href="http://www.sou5.cn/archives/date/2011/08">
  20. <link rel="archives" title="2011 ???" href="http://www.sou5.cn/archives/date/2011/04">
  21. <link rel="archives" title="2011 ???" href="http://www.sou5.cn/archives/date/2011/03">
  22. <link rel="archives" title="2011 ???" href="http://www.sou5.cn/archives/date/2011/02">
  23. <link rel="archives" title="2011 ???" href="http://www.sou5.cn/archives/date/2011/01">
  24. <link rel="archives" title="2010 ????" href="http://www.sou5.cn/archives/date/2010/11">
  25. <link rel="archives" title="2010 ???" href="http://www.sou5.cn/archives/date/2010/10">
  26. <link rel="archives" title="2010 ???" href="http://www.sou5.cn/archives/date/2010/08">
  27. <link rel="archives" title="2010 ???" href="http://www.sou5.cn/archives/date/2010/07">
  28. <link rel="archives" title="2010 ???" href="http://www.sou5.cn/archives/date/2010/06">
  29. <link rel="archives" title="2010 ???" href="http://www.sou5.cn/archives/date/2010/05">
  30. <link rel="archives" title="2010 ???" href="http://www.sou5.cn/archives/date/2010/04">
  31. <link rel="archives" title="2010 ???" href="http://www.sou5.cn/archives/date/2010/03">
  32. <link rel="archives" title="2010 ???" href="http://www.sou5.cn/archives/date/2010/02">
  33. <link rel="archives" title="2010 ???" href="http://www.sou5.cn/archives/date/2010/01">
  34. <link rel="archives" title="2009 ????" href="http://www.sou5.cn/archives/date/2009/12">
  35. <link rel="archives" title="2009 ????" href="http://www.sou5.cn/archives/date/2009/11">
  36. <link rel="archives" title="2009 ???" href="http://www.sou5.cn/archives/date/2009/10">
  37. <link rel="archives" title="2009 ???" href="http://www.sou5.cn/archives/date/2009/09">
  38. <link rel="archives" title="2009 ???" href="http://www.sou5.cn/archives/date/2009/08">
  39. <link rel="archives" title="2009 ???" href="http://www.sou5.cn/archives/date/2009/07">
  40. <link rel="archives" title="2009 ???" href="http://www.sou5.cn/archives/date/2009/05">
  41. <link rel="archives" title="2009 ???" href="http://www.sou5.cn/archives/date/2009/04">
  42. <link rel="archives" title="2009 ???" href="http://www.sou5.cn/archives/date/2009/03">
  43. <link rel="archives" title="2009 ???" href="http://www.sou5.cn/archives/date/2009/02">
  44. <link rel="archives" title="2009 ???" href="http://www.sou5.cn/archives/date/2009/01">
  45. <link rel="archives" title="2008 ????" href="http://www.sou5.cn/archives/date/2008/12">
  46. <link rel="alternate" type="application/rss+xml" title="???? » python ?????(?) ?? Feed" href="http://www.sou5.cn/archives/646.html/feed">
  47. <link rel="stylesheet" id="wp_dlmp_styles-css" href="./python ?????(?) - ????_files/styles.css" type="text/css" media="all">
  48. <link rel="stylesheet" id="NextGEN-css" href="./python ?????(?) - ????_files/nggallery.css" type="text/css" media="screen">
  49. <link rel="stylesheet" id="shutter-css" href="./python ?????(?) - ????_files/shutter-reloaded.css" type="text/css" media="screen">
  50. <script type="text/javascript" src="./python ?????(?) - ????_files/prototype.js"></script>
  51. <script type="text/javascript" src="./python ?????(?) - ????_files/wp-scriptaculous.js"></script>
  52. <script type="text/javascript" src="./python ?????(?) - ????_files/effects.js"></script>
  53. <script type="text/javascript" src="./python ?????(?) - ????_files/lightbox.js"></script>
  54. <script type="text/javascript" src="./python ?????(?) - ????_files/comment-reply.js"></script>
  55. <script type="text/javascript">
  56. /* <![CDATA[ */
  57. var shutterSettings = {"msgLoading":"L O A D I N G","msgClose":"Click to Close","imageCount":"1"};
  58. /* ]]> */
  59. </script>
  60. <script type="text/javascript" src="./python ?????(?) - ????_files/shutter-reloaded.js"></script>
  61. <link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://www.sou5.cn/xmlrpc.php?rsd">
  62. <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://www.sou5.cn/wp-includes/wlwmanifest.xml">
  63. <link rel="prev" title="????????? ? (?)" href="http://www.sou5.cn/archives/643.html">
  64. <link rel="next" title="? Gearman ?? PHP ?????????" href="http://www.sou5.cn/archives/657.html">
  65. <meta name="generator" content="WordPress 3.4.1">
  66. <link rel="canonical" href="./python ?????(?) - ????_files/python ?????(?) - ????.htm">
  67. <link rel="shortlink" href="http://www.sou5.cn/?p=646">
  68. <link href="./python ?????(?) - ????_files/SyntaxHighlighter.css" type="text/css" rel="stylesheet">
  69. <!-- begin lightbox scripts -->
  70. <script type="text/javascript">
  71. //<![CDATA[
  72. document.write('<link rel="stylesheet" href="http://www.sou5.cn/wp-content/plugins/lightbox-2/Themes/Black/lightbox.css" type="text/css" media="screen" />');
  73. //]]>
  74. </script><link rel="stylesheet" href="./python ?????(?) - ????_files/lightbox.css" type="text/css" media="screen">
  75. <!-- end lightbox scripts -->
  76. <link id="MediaRSS" rel="alternate" type="application/rss+xml" title="NextGEN Gallery RSS Feed" href="http://www.sou5.cn/wp-content/plugins/nextgen-gallery/xml/media-rss.php">
  77. <!-- NextGeEN Gallery CoolIris/PicLens support -->
  78. <script type="text/javascript" src="./python ?????(?) - ????_files/piclens_optimized.js"></script>
  79. <!-- /NextGEN Gallery CoolIris/PicLens support -->
  80. <meta name="NextGEN" content="1.5.3">
  81. <link type="text/css" rel="stylesheet" href="chrome-extension://imamemhokkdleoelohnmkimbmpfglcil/css/capture.css"><style id="__huaban_Style">#__huaban_Container {font-family: 'helvetica neue', arial, sans-serif; position: absolute; padding-top: 37px; z-index: 100000002; top: 0; left: 0; background-color: transparent; opacity: 1;hasLayout:-1;}#__huaban_Overlay {position: fixed; z-index: 100000001; top: 0; right: 0; bottom: 0; left: 0; background-color: #f2f2f2; opacity: .95;}* html #__huaban_Overlay {position: absolute;}#__huaban_Control {position:relative; z-index: 100000; float: left; background-color: #fcf9f9; border: solid #ccc; border-width: 0 1px 1px 0; height: 200px; width: 200px; opacity: 1;}* html #__huaban_Control {position:static;}#__huaban_Control img {position: relative; padding: 0; display: block; margin: 82px auto 0; -ms-interpolation-mode: bicubic;}#__huaban_Control a {position: fixed; z-index: 10001; right: 0; top: 0; left: 0; height: 24px; padding: 12px 0 0; text-align: center; font-size: 14px; line-height: 1em; text-shadow: 0 1px #fff; color: #211922; font-weight: bold; text-decoration: none; background: #fff url(http://huaban.com/img/fullGradient07Normal.png) 0 0 repeat-x; border-bottom: 1px solid #ccc; -mox-box-shadow: 0 0 2px #d7d7d7; -webkit-box-shadow: 0 0 2px #d7d7d7;}* html #__huaban_Control a {position: absolute; width: 100%;}#__huaban_Control a:hover {color: #fff; text-decoration: none; background-color: #1389e5; border-color: #1389e5; text-shadow: 0 -1px #46A0E6;}#__huaban_Control a:active {height: 23px; padding-top: 13px; background-color: #211922; border-color: #211922; background-image: url(http://huaban.com/img/fullGradient07Inverted.png); text-shadow: 0 -1px #211922;}.__huabanImagePreview {position: relative; padding: 0; margin: 0; float: left; background-color: #fff; border: solid #e7e7e7; border-width: 0 1px 1px 0; height: 200px; width: 200px; opacity: 1; z-index: 10002; text-align: center; overflow:hidden;}.__huabanImagePreview .__huabanVideoIcon {position:absolute;display:block;top:0;left:0;width:100%;height:100%;background:url(http://huaban.com/img/media_video.png) center center no-repeat;}.__huabanImagePreview .__huabanImg {border: none; height: 200px; width: 200px; opacity: 1; padding: 0; position: absolute; top: 0;}.__huabanImagePreview .__huabanImg a {margin: 0; padding: 0; position: absolute; top: 0; bottom: 0; right: 0; left: 0; display: block; text-align: center; z-index: 1;}.__huabanImagePreview .__huabanImg a:hover {background-color: #fcf9f9; border: none;}.__huabanImagePreview .__huabanImg .ImageToPin {max-height: 200px; max-width: 200px; width: auto !important; height: auto !important;}.__huabanImagePreview img.__huaban_PinIt {border: none; position: absolute; top: 82px; left: 42px; display: none; padding: 0; background-color: transparent; z-index: 100;}.__huabanImagePreview strong {text-indent: -9999px; position: absolute; top: 82px; display: none; height: 32px; background: url(http://huaban.com/img/bm_pin_sprite.png?20120801) no-repeat 0 0;}.__huabanImagePreview strong.__huaban_ThunderPin {width: 24px; left: 52px; background-position: 0 0;}.__huabanImagePreview strong.__huaban_ThunderPin:hover {background-position: 0 -50px;}.__huabanImagePreview strong.__huaban_ThunderPin:active {background-position: 0 -100px;}.__huabanImagePreview strong.__huaban_Pin {width: 72px; left: 75px; background-position: -40px 0;}.__huabanImagePreview strong.__huaban_Pin:hover {background-position: -40px -50px;}.__huabanImagePreview strong.__huaban_Pin:active {background-position: -40px -100px;}.__huabanImagePreview img.__huaban_vidind {border: none; position: absolute; top: 75px; left: 75px; padding: 0; background-color: transparent; z-index: 99;}.__huabanDimensions { color: #000; position: relative; margin-top: 180px; text-align: center; font-size: 10px; z-index:10003; display: inline-block; background: white; border-radius: 4px; padding: 0 2px;}#__huaban_Button { display: block; position: absolute; z-index: 999999999 !important; color: #211922; text-shadow: 0 1px #eaeaea; font: 12px/1 'Helvetica Neue',Helvetica,Arial,Sans-serif; text-align: center; padding: 0; margin: 0; cursor: pointer;}#__huaban_Button a {text-decoration: none; color: #211922; display: inline-block; text-align: center; line-height: 14px; height: 14px; border-radius: 2px; -webkit-border-radius: 2px; -moz-border-radius: 2px; -ms-border-radius: 2px; -o-border-radius: 2px; cursor: pointer; position: absolute; top: 0; left: 0; height: 14px; margin: 0 2px; padding: 5px 8px; border: 1px solid #555; border: 1px solid rgba(140, 126, 126, .5); background-color: #fff;}#__huaban_Button a:hover {text-decoration: none; background-image: -webkit-linear-gradient(top, #fefeff, #efefef); background-image: -moz-linear-gradient(top, #fefeff, #efefef); box-shadow: inset 0 1px rgba(255,255,255,0.35), 0 1px 1px rgba(35,24,24,0.75); -o-box-shadow: inset 0 1px rgba(255,255,255,0.35), 0 1px 1px rgba(35,24,24,0.75); -ms-box-shadow: inset 0 1px rgba(255,255,255,0.35), 0 1px 1px rgba(35,24,24,0.75); -moz-box-shadow: inset 0 1px rgba(255,255,255,0.35), 0 1px 1px rgba(35,24,24,0.75); -webkit-box-shadow: inset 0 1px rgba(255,255,255,0.35), 0 1px 1px rgba(35,24,24,0.75);}#__huaban_Button a:active {text-decoration: none; background-image: -webkit-linear-gradient(top, #fefeff, #efefef); background-image: -moz-linear-gradient(top, #fefeff, #efefef); box-shadow: inset 0 1px 2px rgba(34,25,25,0.25), 0 0 1px rgba(232,230,230,0.5); -o-box-shadow: inset 0 1px 2px rgba(34,25,25,0.25), 0 0 1px rgba(232,230,230,0.5); -ms-box-shadow: inset 0 1px 2px rgba(34,25,25,0.25), 0 0 1px rgba(232,230,230,0.5); -moz-box-shadow: inset 0 1px 2px rgba(34,25,25,0.25), 0 0 1px rgba(232,230,230,0.5); -webkit-box-shadow: inset 0 1px 2px rgba(34,25,25,0.25), 0 0 1px rgba(232,230,230,0.5);}#__huaban_Button a strong {position: relative; line-height: 12px;}#__huaban_Button a.thunderpin {margin-right: 0; border-right: none; width: 14px; padding: 5px 0 5px 4px; border-top-right-radius: 0; border-bottom-right-radius: 0; -webkit-border-top-right-radius: 0; -webkit-border-bottom-right-radius: 0; -moz-border-top-right-radius: 0; -moz-border-bottom-right-radius: 0; -ms-border-top-right-radius: 0; -ms-border-bottom-right-radius: 0; -o-border-top-right-radius: 0; -o-border-bottom-right-radius: 0;}#__huaban_Button a.thunderpin em {background: url(http://huaban.com/img/ActionIcons10.png?20120801) no-repeat -30px 0; position: relative; display: inline-block; width: 10px; height: 10px; top: 1px; left: -2px;}#__huaban_Button a.thunderpin:hover em {background-image-postion: -30px -10px;}#__huaban_Button a.thunderpin:active em {background-image-postion: -30px -20px;}#__huaban_Button a.pin {left: 20px; width: 64px; margin-left: 0; *margin-left: -2px; border-top-left-radius: 0; border-bottom-left-radius: 0; -webkit-border-top-left-radius: 0; -webkit-border-bottom-left-radius: 0; -moz-border-top-left-radius: 0; -moz-border-bottom-left-radius: 0; -ms-border-top-left-radius: 0; -ms-border-bottom-left-radius: 0; -o-border-top-left-radius: 0; -o-border-bottom-left-radius: 0;}.__huaban_Button_share {text-indent: -9999px; width: 80px; height: 24px; padding:0; background: url(http://huaban.com/img/sharebutton_sprite.png?20120801) no-repeat 0 -80px; background: url(http://huaban.com/img/sharebutton_sprite.png?20120801) no-repeat 0 -80px !important; border: none;}.__huaban_Button_share:hover {background-position: 0 -120px; background-position: 0 -120px !important;}.__huaban_Button_share_top {background-position: 0 -80px; background-position: 0 -80px !important;}.__huaban_Button_share_top:hover {background-position: 0 -120px; background-position: 0 -120px !important;}.__huaban_Button_share_bottom {background-position: 0 0; background-position: 0 0 !important;}.__huaban_Button_share_bottom:hover {background-position: 0 -40px; background-position: 0 -40px !important;}.__huaban_thunder_tip { height: 16px; position: absolute; z-index: 999999999 !important; background: #000; background: rgba(0,0,0,0.5); color: #ddd; line-height: 16px; padding: 5px; border-radius: 2px; margin-left: 2px; }.__huabanImagePreview .__huaban_thunder_tip {height: 12px; line-height: 12px; padding: 10px; font-size: 14px; top: 50%; left: 50%; margin-left: -48px; margin-top: -18px;}.__huaban_thunder_tip_success {color: #fff;font-weight: bold; height: 32px;}.__huaban_thunder_tip p {font-weight: normal; text-align: center; margin-top: 2px;}.__huaban_thunder_tip a {color: #fff;}.__huaban_thunder_tip_failed {height: 32px; font-weight: bold; color: #fff;background: #c90000; background: rgba(201, 0, 0, .5); }.__huaban_thunder_tip_failed p {margin: 0 2px; font-weight: normal; font-size: 12px;}.__huaban_thunder_tip span { padding-left: 18px; position: relative;}.__huaban_thunder_tip span em { background: url(http://huaban.com/img/bm_pin_sprite.png?20120801) no-repeat 0px -150px; display: inline-block; height: 16px; width: 16px; position: absolute; left: 0; top: 50%; margin-top: -8px;}.__huaban_thunder_tip_success span em { background: url(http://huaban.com/img/bm_pin_sprite.png?20120801) no-repeat 0px -150px;}.__huaban_thunder_tip_failed span em { background: url(http://huaban.com/img/bm_pin_sprite.png?20120801) no-repeat -40px -150px;}.__huaban_thunder_tip_ing span em { background: url(http://huaban.com/img/thunder_motion.gif?20120801) no-repeat 2px 2px;}.__huabanImagePreview .__huaban_thunder_tip_failed {height: 32px; width: 140px; margin-left: -80px; margin-top: -26px;}.__huabanImagePreview .__huaban_thunder_tip_success {height: 32px; width: 88px; margin-left: -52px; margin-top: -26px;}.__huabanImagePreview .__huaban_thunder_tip_ing {width: 72px;}.__huabanImagePreview .__huaban_thunder_tip_success p, .__huabanImagePreview .__huaban_thunder_tip_failed p {margin-top: 9px; font-size: 12px; display: block;}</style></head>
  82. <body huaban_screen_capture_injected="true">
  83. <script type="text/javascript">
  84. var _bdhmProtocol = (("https:" == document.location.protocol) ? " https://" : " http://");
  85. document.write(unescape("%3Cscript src='" + _bdhmProtocol + "hm.baidu.com/h.js%3F16b28572b73f01801400a8db18332b90' type='text/javascript'%3E%3C/script%3E"));
  86. </script><script src="./python ?????(?) - ????_files/h.js" type="text/javascript"></script>
  87. <div id="top">
  88. <div class="w970">
  89. <ul>
  90. <li class="page_item page-item-488"><a href="http://www.sou5.cn/140">140</a></li>
  91. <li class="page_item page-item-446"><a href="http://www.sou5.cn/2009">2009</a></li>
  92. <li class="page_item page-item-166"><a href="http://www.sou5.cn/google">Google</a></li>
  93. <li class="page_item page-item-5"><a href="http://www.sou5.cn/%e9%93%be%e6%8e%a5">IF</a></li>
  94. <li class="page_item page-item-285"><a href="http://www.sou5.cn/jquery">JQuery</a></li>
  95. <li class="page_item page-item-30"><a href="http://www.sou5.cn/me">ME</a></li>
  96. <li class="page_item page-item-364"><a href="http://www.sou5.cn/django">Python</a></li>
  97. <li class="page_item page-item-91"><a href="http://www.sou5.cn/%e5%bc%80%e6%ba%90">??</a></li>
  98. <li class="page_item page-item-102"><a href="http://www.sou5.cn/%e6%a1%86%e6%9e%b6">??</a></li>
  99. <li class="page_item page-item-98"><a href="http://www.sou5.cn/%e8%af%bb%e4%b9%a6">??</a></li>
  100. <li class="page_item page-item-79"><a href="http://www.sou5.cn/%e8%b5%84%e6%ba%90%e9%93%be%e6%8e%a5%e6%94%b6%e9%9b%86">??</a></li>
  101. <li class="page_item page-item-94"><a href="http://www.sou5.cn/%e9%9a%8f%e6%89%8b">??</a></li>
  102. </ul>
  103. Web 2.0 ??????? ????? </div>
  104. </div>
  105. <div id="header">
  106. <div class="w970">
  107. <h1><a href="http://www.sou5.cn/">????</a></h1>
  108. <div id="search">
  109. <form id="searchform" method="get" action="http://www.sou5.cn/">
  110. <input type="text" value="" name="s" id="s" size="20">
  111. <input type="submit" value="??">
  112. </form>
  113. </div>
  114. </div>
  115. </div>
  116. <div id="nav">
  117. <div class="w970">
  118. <ul>
  119. <li><a title="Home" href="http://www.sou5.cn/">? ?</a></li>
  120. <li class="cat-item cat-item-1"><a href="http://www.sou5.cn/archives/category/lecture" title="lecture">Lecture</a>
  121. </li>
  122. <li class="cat-item cat-item-4"><a href="http://www.sou5.cn/archives/category/%e6%88%91%e7%9a%84%e7%94%9f%e6%b4%bb" title="????">My Life</a>
  123. </li>
  124. <li class="cat-item cat-item-3 current-cat"><a href="http://www.sou5.cn/archives/category/tech" title="tech">Tech</a>
  125. </li>
  126. <li class="cat-item cat-item-172"><a href="http://www.sou5.cn/archives/category/%e5%8e%9f%e5%88%9b" title="?? ?? ??????">??</a>
  127. </li>
  128. </ul>
  129. <div id="rss">
  130. <a id="rss_icon" title="RSS??" href="http://www.sou5.cn/feed"></a>
  131. </div>
  132. </div>
  133. </div><div class="w970">
  134. <div id="main">
  135. <div class="post_nav">
  136. <span class="alignleft">« <a href="http://www.sou5.cn/archives/643.html" rel="prev">????????? ? (?)</a></span>
  137. <span class="alignright"><a href="http://www.sou5.cn/archives/657.html" rel="next">? Gearman ?? PHP ?????????</a> »</span>
  138. </div>
  139. <div class="post-646 post type-post status-publish format-standard hentry category-tech tag-python tag-threading" id="post-646">
  140. <div class="meta"><span class="time">2010?03?2?</span><a href="http://www.sou5.cn/archives/category/tech" title="?? Tech ??????" rel="category tag">Tech</a><br> <a href="http://www.sou5.cn/archives/tag/python" rel="tag">Python</a> <a href="http://www.sou5.cn/archives/tag/threading" rel="tag">threading</a></div>
  141. <div class="content">
  142. <h2>python ?????(?)</h2>
  143. <p>???????????????????</p>
  144. <p>* ??????????<br>
  145. * ?????????????????????<br>
  146. * ??????????mysql?</p>
  147. <p>????????????????</p>
  148. <pre name="code" class"py"=""> def get_urls():
  149. """???????url????"""
  150. pass
  151. </pre>
  152. <pre name="code" class"py"=""> def get_data(url):
  153. """????url??????"""
  154. pass
  155. </pre>
  156. <pre name="code" class"py"=""> def store_data(title,content):
  157. """??????????mysql??????title,data"""
  158. pass
  159. </pre>
  160. <p>?????????????spliter.py?????????????????????????<br>
  161. ??????????</p>
  162. <p>??????????????????????</p>
  163. <pre name="code" class"py"="">import spliter
  164. for url in spliter.get_urls():
  165. title,content = spliter.get_data()
  166. spliter.store_data(title,content)
  167. </pre>
  168. <p>????????????????????????????????????????????????????????????????????? ?????????????1????????theading????????????<br>
  169. ?theading??????</p>
  170. <pre name="code" class"py"="">import threading,spliter,time
  171. def thread(url):
  172. title,content = spliter.get_data(url)
  173. spliter.store_data(title,content)
  174. for url in spliter.get_urls():
  175. t = threading.Thread(target=thread, kward={'url':url})
  176. t.start()
  177. while threading.activeCount() &amp;gt; 1: time.sleep(1)
  178. </pre>
  179. <p>???????????????????????????????????url??????????????????????</p>
  180. <p>* ???????1000+??????????????Dos??????????????????????<br>
  181. * ?????????????????????????<br>
  182. * ???????????????????????????????????douban.com ????????????????</p>
  183. <p>???????????????????</p>
  184. <pre name="code" class"py"="">import threading,spliter,time
  185. THREAD_LIMIT = 20
  186. def thread(url):
  187. title,content = spliter.get_data(url)
  188. spliter.store_data(title,content)
  189. for url in spliter.get_urls():
  190. while threading.activeCount() &amp;gt; THREAD_LIMIT:time.sleep(1)
  191. t = threading.Thread(target=thread, kward={'url':url})
  192. t.start()
  193. while threading.activeCount() &amp;gt; 1: time.sleep(1)
  194. </pre>
  195. <p>????????for????????while???????????????????????<br>
  196. ?????????????????????????????????????????????????????????????????????<br>
  197. ???????????</p>
  198. <pre name="code" class"py"="">import threading, spliter ,time , Queue
  199. THREAD_LIMIT = 50
  200. jobs = Queue.Queue(0)
  201. def thread():
  202. while True:
  203. try:
  204. url = jobs.get(False)
  205. except Queue.Empty:
  206. return
  207. title,content = spliter.get_data(url)
  208. spliter.store_data(title,content)
  209. for url in spliter.get_urls():
  210. jobs.put(url)
  211. for n in xrange(THREAD_LIMIT):
  212. t = threading.Thread(target=thread)
  213. t.start()
  214. while threading.activeCount() &amp;gt; 1: time.sleep(1)
  215. </pre>
  216. <p>?????????</p>
  217. <p>* ??????????50?????????????</p>
  218. <p>???????:</p>
  219. <p>* ???????????????????????????????????????????????????????????</p>
  220. <pre name="code" class"py"="">ONE WORKER, MANY RUNERS
  221. import threading, spliter ,time , Queue
  222. THREAD_LIMIT = 50
  223. jobs = Queue.Queue(0)
  224. process = Queue.Queue(LIMIT)
  225. def thread():
  226. while True:
  227. try:
  228. url = jobs.get(False)
  229. except Queue.Empty:
  230. return
  231. title,content = spliter.get_data(url)
  232. process.put((title,content),True)
  233. if __name__ == '__main__':
  234. for url in spliter.get_urls():
  235. jobs.put(url)
  236. for n in xrange(THREAD_LIMIT):
  237. t = threading.Thread(target=thread)
  238. t.start()
  239. while threading.activeCount() &amp;gt; 1 or not process.empty():
  240. try:
  241. title,content = process.get(False,1)
  242. except Queue.Empty:
  243. continue
  244. spliter.store_data(title,content)
  245. </pre>
  246. <p>?????????????????????????????? ????????????????????????</p>
  247. <p><strong>???Python???</strong><br>
  248. <a href="http://chrisarndt.de/projects/threadpool">http://chrisarndt.de/projects/threadpool</a></p>
  249. </div>
  250. </div>
  251. <div id="post_metadata">
  252. <h3>???? »</h3>
  253. <div class="content">
  254. ????2010-03-02 20:33? admin ???<a href="http://www.sou5.cn/archives/category/tech" title="?? Tech ??????" rel="category tag">Tech</a>????
  255. ???<a href="http://www.sou5.cn/archives/646.html#respond">????</a>?????????????<a href="./python ?????(?) - ????_files/python ?????(?) - ????.htm" rel="bookmark">???</a>???????<a href="http://www.sou5.cn/archives/646.html/trackback" rel="trackback">??</a>??????????????<a href="http://www.sou5.cn/archives/646.html/feed">RSS 2.0</a>????????????
  256. </div>
  257. </div>
  258. <div id="comments">
  259. <h3>????<small><a href="http://www.sou5.cn/archives/646.html#postcomment" title="????">?</a></small></h3>
  260. </div>
  261. <div id="respond">
  262. <h3 id="post_comment">???? »</h3>
  263. <div id="cancel_comment_reply"><a rel="nofollow" id="cancel-comment-reply-link" href="http://www.sou5.cn/archives/646.html#respond" style="display:none;">?????????</a></div>
  264. <form action="http://www.sou5.cn/wp-comments-post.php" method="post" id="commentform" name="commentform">
  265. <p><textarea name="comment" id="comment" rows="5" tabindex="4"></textarea></p>
  266. <p><input type="text" name="author" id="author" value="" size="22" tabindex="1">
  267. <label for="author">?? (??)</label></p>
  268. <p><input type="text" name="email" id="email" value="" size="22" tabindex="2">
  269. <label for="email">???? (?????) (??)</label></p>
  270. <p><input type="text" name="url" id="url" value="" size="22" tabindex="3">
  271. <label for="url">??</label></p>
  272. <p><input type="submit" id="submit" tabindex="5" value="????(Ctrl+Enter)"></p>
  273. <input type="hidden" name="comment_post_ID" value="646" id="comment_post_ID">
  274. <input type="hidden" name="comment_parent" id="comment_parent" value="0">
  275. </form>
  276. <script type="text/javascript">
  277. <!--//--><![CDATA[//><!--
  278. var commenttextarea = document.getElementById('comment');
  279. commenttextarea.onkeydown = function quickSubmit(e) {
  280. if (!e) var e = window.event;
  281. if (e.ctrlKey && e.keyCode == 13){
  282. document.getElementById('submit').click();
  283. }
  284. };
  285. //--><!]]>
  286. </script>
  287. </div>
  288. </div>
  289. <div id="sidebar">
  290. <ul>
  291. <li id="recent-posts-2" class="widget widget_recent_entries"> <h2>????</h2> <ul>
  292. <li><a href="http://www.sou5.cn/archives/975.html" title="Mac ?QQ?????">Mac ?QQ????? </a></li>
  293. <li><a href="http://www.sou5.cn/archives/973.html" title="????????X64 RedHat5.1 ????????PHP ???????(?)">????????X64 RedHat5.1 ????????PHP ???????(?) </a></li>
  294. <li><a href="http://www.sou5.cn/archives/971.html" title="jdk????">jdk???? </a></li>
  295. <li><a href="http://www.sou5.cn/archives/970.html" title="Facebook???">Facebook??? </a></li>
  296. <li><a href="http://www.sou5.cn/archives/968.html" title="?????Google??????????(?)">?????Google??????????(?) </a></li>
  297. </ul>
  298. </li><li id="archives-2" class="widget widget_archive"><h2>????</h2> <select name="archive-dropdown" onchange="document.location.href=this.options[this.selectedIndex].value;"> <option value="">????</option> <option value="http://www.sou5.cn/archives/date/2012/07"> 2012 ??? &nbsp;(1)</option>
  299. <option value="http://www.sou5.cn/archives/date/2012/06"> 2012 ??? &nbsp;(1)</option>
  300. <option value="http://www.sou5.cn/archives/date/2012/05"> 2012 ??? &nbsp;(1)</option>
  301. <option value="http://www.sou5.cn/archives/date/2012/02"> 2012 ??? &nbsp;(2)</option>
  302. <option value="http://www.sou5.cn/archives/date/2012/01"> 2012 ??? &nbsp;(1)</option>
  303. <option value="http://www.sou5.cn/archives/date/2011/12"> 2011 ???? &nbsp;(4)</option>
  304. <option value="http://www.sou5.cn/archives/date/2011/11"> 2011 ???? &nbsp;(4)</option>
  305. <option value="http://www.sou5.cn/archives/date/2011/10"> 2011 ??? &nbsp;(1)</option>
  306. <option value="http://www.sou5.cn/archives/date/2011/09"> 2011 ??? &nbsp;(2)</option>
  307. <option value="http://www.sou5.cn/archives/date/2011/08"> 2011 ??? &nbsp;(2)</option>
  308. <option value="http://www.sou5.cn/archives/date/2011/04"> 2011 ??? &nbsp;(4)</option>
  309. <option value="http://www.sou5.cn/archives/date/2011/03"> 2011 ??? &nbsp;(2)</option>
  310. <option value="http://www.sou5.cn/archives/date/2011/02"> 2011 ??? &nbsp;(2)</option>
  311. <option value="http://www.sou5.cn/archives/date/2011/01"> 2011 ??? &nbsp;(3)</option>
  312. <option value="http://www.sou5.cn/archives/date/2010/11"> 2010 ???? &nbsp;(2)</option>
  313. <option value="http://www.sou5.cn/archives/date/2010/10"> 2010 ??? &nbsp;(1)</option>
  314. <option value="http://www.sou5.cn/archives/date/2010/08"> 2010 ??? &nbsp;(2)</option>
  315. <option value="http://www.sou5.cn/archives/date/2010/07"> 2010 ??? &nbsp;(1)</option>
  316. <option value="http://www.sou5.cn/archives/date/2010/06"> 2010 ??? &nbsp;(1)</option>
  317. <option value="http://www.sou5.cn/archives/date/2010/05"> 2010 ??? &nbsp;(5)</option>
  318. <option value="http://www.sou5.cn/archives/date/2010/04"> 2010 ??? &nbsp;(7)</option>
  319. <option value="http://www.sou5.cn/archives/date/2010/03"> 2010 ??? &nbsp;(7)</option>
  320. <option value="http://www.sou5.cn/archives/date/2010/02"> 2010 ??? &nbsp;(2)</option>
  321. <option value="http://www.sou5.cn/archives/date/2010/01"> 2010 ??? &nbsp;(4)</option>
  322. <option value="http://www.sou5.cn/archives/date/2009/12"> 2009 ???? &nbsp;(16)</option>
  323. <option value="http://www.sou5.cn/archives/date/2009/11"> 2009 ???? &nbsp;(3)</option>
  324. <option value="http://www.sou5.cn/archives/date/2009/10"> 2009 ??? &nbsp;(2)</option>
  325. <option value="http://www.sou5.cn/archives/date/2009/09"> 2009 ??? &nbsp;(2)</option>
  326. <option value="http://www.sou5.cn/archives/date/2009/08"> 2009 ??? &nbsp;(2)</option>
  327. <option value="http://www.sou5.cn/archives/date/2009/07"> 2009 ??? &nbsp;(7)</option>
  328. <option value="http://www.sou5.cn/archives/date/2009/05"> 2009 ??? &nbsp;(1)</option>
  329. <option value="http://www.sou5.cn/archives/date/2009/04"> 2009 ??? &nbsp;(4)</option>
  330. <option value="http://www.sou5.cn/archives/date/2009/03"> 2009 ??? &nbsp;(10)</option>
  331. <option value="http://www.sou5.cn/archives/date/2009/02"> 2009 ??? &nbsp;(19)</option>
  332. <option value="http://www.sou5.cn/archives/date/2009/01"> 2009 ??? &nbsp;(18)</option>
  333. <option value="http://www.sou5.cn/archives/date/2008/12"> 2008 ???? &nbsp;(37)</option>
  334. </select>
  335. </li><li id="search-2" class="widget widget_search"><form role="search" method="get" id="searchform" action="http://www.sou5.cn/">
  336. <div><label class="screen-reader-text" for="s">???</label>
  337. <input type="text" value="" name="s" id="s">
  338. <input type="submit" id="searchsubmit" value="??">
  339. </div>
  340. </form></li><li id="text-304672962" class="widget widget_text"> <div class="textwidget"></div>
  341. </li><li id="linkcat-98" class="widget widget_links"><h2>DB</h2>
  342. <ul class="xoxo blogroll">
  343. <li><a href="http://www.jianzhaoyang.com/" target="_blank">?????</a></li>
  344. </ul>
  345. </li>
  346. <li id="linkcat-47" class="widget widget_links"><h2>linux</h2>
  347. <ul class="xoxo blogroll">
  348. <li><a href="http://www.linuxtone.org/" target="_blank">IT?????</a></li>
  349. <li><a href="http://linuxtoy.org/" target="_blank">LinuxTOY</a></li>
  350. </ul>
  351. </li>
  352. <li id="linkcat-71" class="widget widget_links"><h2>ME like</h2>
  353. <ul class="xoxo blogroll">
  354. <li><a href="http://nettuts.com/" target="_blank">Web Development</a></li>
  355. <li><a href="http://en.gravatar.com/" target="_blank">??????</a></li>
  356. <li><a href="http://myfolio.com/" target="_blank">????</a></li>
  357. <li><a href="http://www.sincol.net/" target="_blank">??sincol</a></li>
  358. </ul>
  359. </li>
  360. <li id="linkcat-54" class="widget widget_links"><h2>??</h2>
  361. <ul class="xoxo blogroll">
  362. <li><a href="http://www.zendstudio.net/index.php">zendstudio</a></li>
  363. <li><a href="http://ued.taobao.com/blog/" target="_blank">??UED</a></li>
  364. </ul>
  365. </li>
  366. <li id="linkcat-16" class="widget widget_links"><h2>????</h2>
  367. <ul class="xoxo blogroll">
  368. <li><a href="http://www.dbanotes.net/" target="_blank">DBA notes</a></li>
  369. <li><a href="http://www.diglog.com/" title="diglog.com – ????,???? " target="_blank">diglog ????</a></li>
  370. <li><a href="http://www.duduwolf.com/wiki" target="_blank">duduwolf</a></li>
  371. <li><a href="http://eroading.com/" target="_blank">e??</a></li>
  372. <li><a href="http://fallabs.com/" rel="acquaintance" title="fallabs(??)" target="_blank">fallabs(??)</a></li>
  373. <li><a href="http://github.com/" target="_blank">github</a></li>
  374. <li><a href="http://if.4kiki.net/" rel="friend co-worker co-resident" target="_blank">I-Framework</a></li>
  375. <li><a href="http://www.ibm.com/developerworks/" target="_blank">IBM-developerWorks</a></li>
  376. <li><a href="http://www.ibm.com/developerworks/cn/" target="_blank">IBM-developerWorks ??</a></li>
  377. <li><a href="http://www.ibm.com/developerworks/cn/web20/index.html?S_TACT=105AGX52&S_CMP=content" target="_blank">IBM-Web 2.0 ????</a></li>
  378. <li><a href="http://www.igvita.com/" target="_blank">igvita</a></li>
  379. <li><a href="http://www.infoq.com/cn" title="InfoQ: ?????????????????? " target="_blank">infoq??</a></li>
  380. <li><a href="http://www.linuxtone.org/" target="_blank">IT?????</a></li>
  381. <li><a href="http://l-wy.cn/" target="_blank">Lwys Dreamland</a></li>
  382. <li><a href="http://blog.sina.com.cn/wxmbj" target="_blank">TONY???</a></li>
  383. <li><a href="http://mlsx.xplore.cn/" target="_blank">xplore</a></li>
  384. <li><a href="http://www.woodpecker.org.cn/" target="_blank">??? Pythonic</a></li>
  385. <li><a href="http://blog.s135.com/" title="??????????" target="_blank">????</a></li>
  386. <li><a href="http://blog.phpexp.cn/" target="_blank">? ??</a></li>
  387. <li><a href="http://www.lostk.com/blog/" target="_blank">????</a></li>
  388. <li><a href="http://www.ooso.net/" target="_blank">??????</a></li>
  389. <li><a href="http://www.hiadmin.com/" target="_blank">????</a></li>
  390. <li><a href="http://chaoqun.17348.com/" title="??" target="_blank">??</a></li>
  391. <li><a href="http://www.chedong.com/blog/" title="??[Blog^2]" target="_blank">??[Blog^2]</a></li>
  392. </ul>
  393. </li>
  394. <li id="linkcat-74" class="widget widget_links"><h2>??</h2>
  395. <ul class="xoxo blogroll">
  396. <li><a href="http://blog.likeshow.net/">Search Engine</a></li>
  397. <li><a href="http://tttick.cnblogs.com/">T.t.T!Ck.?</a></li>
  398. </ul>
  399. </li>
  400. <li id="linkcat-2" class="widget widget_links"><h2>???</h2>
  401. <ul class="xoxo blogroll">
  402. <li><a href="http://blog.youxu.info/" title="??: ?? ????????????????????????????????(????)?”?????”????????????? Geek ???" target="_blank">4G Spaces</a></li>
  403. <li><a href="http://apple4.us/" title="????????????????? ?????????????(???? Jobs ???)??????????????????????" target="_blank">apple4us</a></li>
  404. <li><a href="http://eroading.com/" target="_blank">e??</a></li>
  405. <li><a href="http://www.gracecode.com/" title="??: ???? ???? UED ? “????” ??????? Blogger ??????????????????????????????????????????????????? “Javascript ????” ????????( 2009??????? )?" target="_blank">Gracecode</a></li>
  406. <li><a href="http://www.17lamp.net/lamp/python">python ??</a></li>
  407. <li><a href="http://www.achome.cn/blog/" target="_blank">Satellite Of Love</a></li>
  408. <li><a href="http://zebinlog.appspot.com/" target="_blank">zebinlog</a></li>
  409. <li><a href="http://blog.unxmail.com/" target="_blank">????</a></li>
  410. <li><a href="http://7caishi.blogspot.com/" target="_blank">???</a></li>
  411. <li><a href="http://blog.chenlb.com/" target="_blank">????Blog</a></li>
  412. <li><a href="http://www.qianduan.net/" target="_blank">????</a></li>
  413. <li><a href="http://www.51shanku.com/" rel="me" target="_blank">????</a></li>
  414. <li><a href="http://www.9kooo.com/" target="_blank">????</a></li>
  415. <li><a href="http://sou5.yo2.cn/" title="Web 2.0 ?? ?? ?? ??? ??" target="_blank">????</a></li>
  416. <li><a href="http://www.solongbus.com/" title="??????" target="_blank">??????</a></li>
  417. <li><a href="http://hutuworm.blogspot.com/" title="??: http://hutuworm.blogspot.com/ ??: Hutuworm Hutuworm ? Blog?”??? Linux ???????”??????????????????????????????????????(???)????????????????????????Hutuworm ?????????" target="_blank">????</a></li>
  418. <li><a href="http://zz.comsenz.com/" title="????" target="_blank">????</a></li>
  419. <li><a href="http://jnote.cn/" target="_blank">?????</a></li>
  420. <li><a href="http://www.son1c.cn/" target="_blank">????</a></li>
  421. <li><a href="http://www.websbook.com/" title="?????">?????</a></li>
  422. </ul>
  423. </li>
  424. <li id="linkcat-39" class="widget widget_links"><h2>??</h2>
  425. <ul class="xoxo blogroll">
  426. <li><a href="http://bitnami.org/" target="_blank">bitnami</a></li>
  427. <li><a href="http://www.herrodius.com/blog/" title="Christophe Herreman" target="_blank">Christophe Herreman</a></li>
  428. <li><a href="http://www.conversion-rate-experts.com/blog/" target="_blank">Conversion Rate Optimization Blog</a></li>
  429. <li><a href="http://googlesystem.blogspot.com/" title="googlesystem" target="_blank">googlesystem</a></li>
  430. <li><a href="http://www.igvita.com/" target="_blank">igvita</a></li>
  431. </ul>
  432. </li>
  433. <li id="pages-2" class="widget widget_pages"><h2>??</h2> <ul>
  434. <li class="page_item page-item-488"><a href="http://www.sou5.cn/140">140</a></li>
  435. <li class="page_item page-item-446"><a href="http://www.sou5.cn/2009">2009</a></li>
  436. <li class="page_item page-item-166"><a href="http://www.sou5.cn/google">Google</a></li>
  437. <li class="page_item page-item-5"><a href="http://www.sou5.cn/%e9%93%be%e6%8e%a5">IF</a></li>
  438. <li class="page_item page-item-285"><a href="http://www.sou5.cn/jquery">JQuery</a></li>
  439. <li class="page_item page-item-30"><a href="http://www.sou5.cn/me">ME</a></li>
  440. <li class="page_item page-item-364"><a href="http://www.sou5.cn/django">Python</a></li>
  441. <li class="page_item page-item-91"><a href="http://www.sou5.cn/%e5%bc%80%e6%ba%90">??</a></li>
  442. <li class="page_item page-item-102"><a href="http://www.sou5.cn/%e6%a1%86%e6%9e%b6">??</a></li>
  443. <li class="page_item page-item-98"><a href="http://www.sou5.cn/%e8%af%bb%e4%b9%a6">??</a></li>
  444. <li class="page_item page-item-79"><a href="http://www.sou5.cn/%e8%b5%84%e6%ba%90%e9%93%be%e6%8e%a5%e6%94%b6%e9%9b%86">??</a></li>
  445. <li class="page_item page-item-94"><a href="http://www.sou5.cn/%e9%9a%8f%e6%89%8b">??</a></li>
  446. </ul>
  447. </li><li id="tag_cloud-2" class="widget widget_tag_cloud"><h2>??</h2><div class="tagcloud"><a href="http://www.sou5.cn/archives/tag/apache" class="tag-link-34" title="4 ???" style="font-size: 12.745762711864pt;">apache</a>
  448. <a href="http://www.sou5.cn/archives/tag/apache-python" class="tag-link-8" title="1 ???" style="font-size: 8pt;">apache python</a>
  449. <a href="http://www.sou5.cn/archives/tag/api" class="tag-link-19" title="3 ???" style="font-size: 11.559322033898pt;">api</a>
  450. <a href="http://www.sou5.cn/archives/tag/app" class="tag-link-13" title="1 ???" style="font-size: 8pt;">App</a>
  451. <a href="http://www.sou5.cn/archives/tag/cmd" class="tag-link-26" title="1 ???" style="font-size: 8pt;">cmd</a>
  452. <a href="http://www.sou5.cn/archives/tag/code" class="tag-link-18" title="1 ???" style="font-size: 8pt;">code</a>
  453. <a href="http://www.sou5.cn/archives/tag/django" class="tag-link-12" title="5 ???" style="font-size: 13.694915254237pt;">Django</a>
  454. <a href="http://www.sou5.cn/archives/tag/engine" class="tag-link-14" title="1 ???" style="font-size: 8pt;">Engine</a>
  455. <a href="http://www.sou5.cn/archives/tag/fears" class="tag-link-17" title="1 ???" style="font-size: 8pt;">fears</a>
  456. <a href="http://www.sou5.cn/archives/tag/flash" class="tag-link-49" title="6 ???" style="font-size: 14.525423728814pt;">flash</a>
  457. <a href="http://www.sou5.cn/archives/tag/gearman" class="tag-link-153" title="2 ???" style="font-size: 10.135593220339pt;">Gearman</a>
  458. <a href="http://www.sou5.cn/archives/tag/gearmand" class="tag-link-154" title="2 ???" style="font-size: 10.135593220339pt;">Gearmand</a>
  459. <a href="http://www.sou5.cn/archives/tag/genshi" class="tag-link-35" title="1 ???" style="font-size: 8pt;">genshi</a>
  460. <a href="http://www.sou5.cn/archives/tag/google" class="tag-link-7" title="8 ???" style="font-size: 15.71186440678pt;">google</a>
  461. <a href="http://www.sou5.cn/archives/tag/group" class="tag-link-96" title="2 ???" style="font-size: 10.135593220339pt;">group</a>
  462. <a href="http://www.sou5.cn/archives/tag/io" class="tag-link-10" title="1 ???" style="font-size: 8pt;">I/O</a>
  463. <a href="http://www.sou5.cn/archives/tag/images" class="tag-link-38" title="2 ???" style="font-size: 10.135593220339pt;">images</a>
  464. <a href="http://www.sou5.cn/archives/tag/java" class="tag-link-31" title="2 ???" style="font-size: 10.135593220339pt;">java</a>
  465. <a href="http://www.sou5.cn/archives/tag/jquery" class="tag-link-52" title="4 ???" style="font-size: 12.745762711864pt;">jquery</a>
  466. <a href="http://www.sou5.cn/archives/tag/js" class="tag-link-23" title="4 ???" style="font-size: 12.745762711864pt;">js</a>
  467. <a href="http://www.sou5.cn/archives/tag/jsdoc" class="tag-link-24" title="1 ???" style="font-size: 8pt;">jsdoc</a>
  468. <a href="http://www.sou5.cn/archives/tag/json" class="tag-link-55" title="2 ???" style="font-size: 10.135593220339pt;">json</a>
  469. <a href="http://www.sou5.cn/archives/tag/linux" class="tag-link-47" title="2 ???" style="font-size: 10.135593220339pt;">linux</a>
  470. <a href="http://www.sou5.cn/archives/tag/memcache" class="tag-link-66" title="3 ???" style="font-size: 11.559322033898pt;">memcache</a>
  471. <a href="http://www.sou5.cn/archives/tag/memory" class="tag-link-40" title="1 ???" style="font-size: 8pt;">memory</a>
  472. <a href="http://www.sou5.cn/archives/tag/mysql" class="tag-link-33" title="13 ???" style="font-size: 18.084745762712pt;">mysql</a>
  473. <a href="http://www.sou5.cn/archives/tag/mysqldb" class="tag-link-41" title="2 ???" style="font-size: 10.135593220339pt;">mysqldb</a>
  474. <a href="http://www.sou5.cn/archives/tag/nginx" class="tag-link-121" title="2 ???" style="font-size: 10.135593220339pt;">Nginx</a>
  475. <a href="http://www.sou5.cn/archives/tag/order" class="tag-link-97" title="2 ???" style="font-size: 10.135593220339pt;">order</a>
  476. <a href="http://www.sou5.cn/archives/tag/page" class="tag-link-15" title="1 ???" style="font-size: 8pt;">page</a>
  477. <a href="http://www.sou5.cn/archives/tag/php" class="tag-link-27" title="23 ???" style="font-size: 20.813559322034pt;">php</a>
  478. <a href="http://www.sou5.cn/archives/tag/pil" class="tag-link-37" title="3 ???" style="font-size: 11.559322033898pt;">pil</a>
  479. <a href="http://www.sou5.cn/archives/tag/profiles" class="tag-link-32" title="1 ???" style="font-size: 8pt;">profiles</a>
  480. <a href="http://www.sou5.cn/archives/tag/python" class="tag-link-11" title="29 ???" style="font-size: 22pt;">Python</a>
  481. <a href="http://www.sou5.cn/archives/tag/rand" class="tag-link-122" title="2 ???" style="font-size: 10.135593220339pt;">rand</a>
  482. <a href="http://www.sou5.cn/archives/tag/ruby" class="tag-link-30" title="1 ???" style="font-size: 8pt;">ruby</a>
  483. <a href="http://www.sou5.cn/archives/tag/smarty" class="tag-link-29" title="1 ???" style="font-size: 8pt;">smarty</a>
  484. <a href="http://www.sou5.cn/archives/tag/toolkit" class="tag-link-25" title="1 ???" style="font-size: 8pt;">toolkit</a>
  485. <a href="http://www.sou5.cn/archives/tag/trac" class="tag-link-36" title="1 ???" style="font-size: 8pt;">trac</a>
  486. <a href="http://www.sou5.cn/archives/tag/utf-8" class="tag-link-43" title="2 ???" style="font-size: 10.135593220339pt;">utf-8</a>
  487. <a href="http://www.sou5.cn/archives/tag/xml" class="tag-link-56" title="4 ???" style="font-size: 12.745762711864pt;">xml</a>
  488. <a href="http://www.sou5.cn/archives/tag/yahoo" class="tag-link-22" title="3 ???" style="font-size: 11.559322033898pt;">yahoo</a>
  489. <a href="http://www.sou5.cn/archives/tag/yui" class="tag-link-21" title="3 ???" style="font-size: 11.559322033898pt;">yui</a>
  490. <a href="http://www.sou5.cn/archives/tag/zend" class="tag-link-28" title="1 ???" style="font-size: 8pt;">zend</a>
  491. <a href="http://www.sou5.cn/archives/tag/zh-cn" class="tag-link-20" title="1 ???" style="font-size: 8pt;">zh-CN</a></div>
  492. </li><li id="calendar-2" class="widget widget_calendar"><h2>&nbsp;</h2><div id="calendar_wrap"><table id="wp-calendar" summary="??">
  493. <caption>2012???</caption>
  494. <thead>
  495. <tr>
  496. <th abbr="???" scope="col" title="???">?</th>
  497. <th abbr="???" scope="col" title="???">?</th>
  498. <th abbr="???" scope="col" title="???">?</th>
  499. <th abbr="???" scope="col" title="???">?</th>
  500. <th abbr="???" scope="col" title="???">?</th>
  501. <th abbr="???" scope="col" title="???">?</th>
  502. <th abbr="???" scope="col" title="???">?</th>
  503. </tr>
  504. </thead>
  505. <tfoot>
  506. <tr>
  507. <td abbr="??" colspan="3" id="prev"><a href="http://www.sou5.cn/archives/date/2012/06" title="?? ?? 2012 ???">« ?</a></td>
  508. <td class="pad">&nbsp;</td>
  509. <td colspan="3" id="next" class="pad">&nbsp;</td>
  510. </tr>
  511. </tfoot>
  512. <tbody>
  513. <tr>
  514. <td colspan="6" class="pad">&nbsp;</td><td>1</td>
  515. </tr>
  516. <tr>
  517. <td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td><td>8</td>
  518. </tr>
  519. <tr>
  520. <td>9</td><td>10</td><td>11</td><td>12</td><td>13</td><td>14</td><td>15</td>
  521. </tr>
  522. <tr>
  523. <td>16</td><td>17</td><td>18</td><td>19</td><td>20</td><td>21</td><td>22</td>
  524. </tr>
  525. <tr>
  526. <td>23</td><td>24</td><td>25</td><td>26</td><td>27</td><td id="today"><a href="http://www.sou5.cn/archives/date/2012/07/28" title="Mac ?QQ?????">28</a></td><td>29</td>
  527. </tr>
  528. <tr>
  529. <td>30</td><td>31</td>
  530. <td class="pad" colspan="5">&nbsp;</td>
  531. </tr>
  532. </tbody>
  533. </table></div></li> </ul>
  534. </div>
  535. </div>
  536. <div id="footer">
  537. <div class="w970">
  538. ©2008-2009 ???? All Rights Reservied<br>
  539. Powered by <a href="http://wordpress.org/" target="_blank">WordPress</a>. Theme by <a href="http://www.prower.cn/">Prower</a>
  540. </div>
  541. </div>
  542. <div id="go_top"><em></em><a href="http://www.sou5.cn/archives/646.html#">????</a></div>
  543. <script class="javascript" src="./python ?????(?) - ????_files/shCore.js"></script>
  544. <script class="javascript" src="./python ?????(?) - ????_files/shBrushCSharp.js"></script>
  545. <script class="javascript" src="./python ?????(?) - ????_files/shBrushPhp.js"></script>
  546. <script class="javascript" src="./python ?????(?) - ????_files/shBrushJScript.js"></script>
  547. <script class="javascript" src="./python ?????(?) - ????_files/shBrushJava.js"></script>
  548. <script class="javascript" src="./python ?????(?) - ????_files/shBrushVb.js"></script>
  549. <script class="javascript" src="./python ?????(?) - ????_files/shBrushSql.js"></script>
  550. <script class="javascript" src="./python ?????(?) - ????_files/shBrushXml.js"></script>
  551. <script class="javascript" src="./python ?????(?) - ????_files/shBrushDelphi.js"></script>
  552. <script class="javascript" src="./python ?????(?) - ????_files/shBrushPython.js"></script>
  553. <script class="javascript" src="./python ?????(?) - ????_files/shBrushRuby.js"></script>
  554. <script class="javascript" src="./python ?????(?) - ????_files/shBrushCss.js"></script>
  555. <script class="javascript" src="./python ?????(?) - ????_files/shBrushCpp.js"></script>
  556. <script class="javascript">
  557. dp.SyntaxHighlighter.ClipboardSwf = 'http://www.sou5.cn/wp-content/plugins/google-syntax-highlighter/Scripts/clipboard.swf';
  558. dp.SyntaxHighlighter.HighlightAll('code');
  559. </script>
  560. <script type="text/javascript">
  561. var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
  562. document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
  563. </script><script src="./python ?????(?) - ????_files/ga.js" type="text/javascript"></script>
  564. <script type="text/javascript">
  565. try {
  566. var pageTracker = _gat._getTracker("UA-6787839-1");
  567. pageTracker._trackPageview();
  568. } catch(err) {}</script>
  569. <script type="text/javascript">document.write(unescape("%3Cscript src='" + (("https:" == document.location.protocol) ? "https" : "http") + "://a.mouseflow.com/projects/8b7ab1b2-3984-426d-a62c-03b546fd58c6.js' type='text/javascript'%3E%3C/script%3E"));</script><script src="./python ?????(?) - ????_files/8b7ab1b2-3984-426d-a62c-03b546fd58c6.js" type="text/javascript"></script>
  570. <script charset="utf-8"> (function(w, d, g, J) { var e = J.stringify || J.encode; d[g] = d[g] || {}; d[g]['showValidImages'] = d[g]['showValidImages'] || function() { w.postMessage(e({'msg': {'g': g, 'm':'s'}}), location.href); } })(window, document, '__huaban', JSON); </script><div id="stimuli_overlay" style="display: none; "></div><div id="stimuli_lightbox" style="display: none; "><div id="stimuli_outerImageContainer" style="width: 250px; height: 250px; "><div id="stimuli_imageContainer"><img id="stimuli_lightboxImage"><div id="stimuli_hoverNav"><a id="stimuli_prevLink" href="http://www.sou5.cn/archives/646.html#"></a><a id="stimuli_nextLink" href="http://www.sou5.cn/archives/646.html#"></a></div><div id="stimuli_loading"><a id="stimuli_loadingLink" href="http://www.sou5.cn/archives/646.html#"></a></div></div></div><div id="stimuli_imageDataContainer"><div id="stimuli_imageData"><div id="stimuli_imageDetails"><span id="stimuli_caption"></span><span id="stimuli_numberDisplay"></span></div><div id="stimuli_bottomNav"><a id="stimuli_bottomNavClose" href="http://www.sou5.cn/archives/646.html#"></a></div></div></div></div></body></html>