关闭

Python常用库大全

498人阅读 评论(0) 收藏 举报
分类:
转载地址:原文地址链接
<html xmlns="http://www.w3.org/1999/xhtml"><head>  
        <script async="" src="http://s7-im-notify.csdn.net:80/socket.io/1/jsonp-polling/zWRAl9qgRRrEgbusZIU0?t=1501856970935&i=0"></script><script src="https://hm.baidu.com/hm.js?6bcd52f51e9b3dce32bec4a3997715ac"></script><script src="http://push.zhanzhang.baidu.com/push.js"></script><script type="text/javascript" src="http://static.blog.csdn.net/scripts/tingyun-rum.js"></script>
            <link rel="canonical" href="http://blog.csdn.net/itcastcpp/article/details/76602073"> 
 <meta http-equiv="Cache-Control" content="no-siteapp"><link rel="alternate" media="handheld" href="#">

    <meta name="shenma-site-verification" content="5a59773ab8077d4a62bf469ab966a63b_1497598848"> 
       
    <title>Python常用库大全 - 尹成的技术博客
        - CSDN博客</title><script>window._ty_rum&&window._ty_rum.server||function(t){function e(t){J&&(W.e[t]||(W.e[t]=[])).push(u())}function r(){var t=tt(it);return t||(t=nt(),et(it,t)),t}function n(){var t=a(ot);return t||(t=nt(),i(ot,t)),t}function a(t){if("string"!=typeof t)return null;var e=B.cookie;if(!e)return null;var r=null,n=e.split(";");return X.each(n,function(e){var n=e.split("=");if(X.trim(n[0])===X.trim(t))return r=n[1],!0}),r}function i(t,e,r){var n=t+"="+e;if(r){var a=new Date;a.setTime(a.getTime()+1e3*r),n+=";expires="+a.toGMTString()}B.cookie=n}function o(t){switch(typeof t){case"object":if(!t)return"null";if(t instanceof Array){for(var e="[",r=0;r<t.length;r++)e+=(r>0?",":"")+o(t[r]);return e+"]"}if(t instanceof Date)return t.getTime().toString();var e="{",r=0;for(var n in t)if("function"!=typeof t[n]){var a=o(t[n]);e+=(r>0?",":"")+o(n)+":"+a,r++}return e+"}";case"string":return'"'+t.replace(/([\"\\])/g,"\\$1").replace(/\n/g,"\\n")+'"';case"number":return t.toString();case"boolean":return t?"true":"false";case"function":return o(t.toString());case"undefined":default:return'"undefined"'}}function s(t){return z?z(t):t}function u(){return Date.now?Date.now():(new Date).valueOf()}function c(t,e,r){function n(){var t=X.args.apply(this,arguments);return e(i,t,r)}var a,i=t[t.length-1];if("function"==typeof i){switch(i.length){case 0:a=function(){return n.apply(this,arguments)};break;case 1:a=function(t){return n.apply(this,arguments)};break;case 2:a=function(t,e){return n.apply(this,arguments)};break;case 3:a=function(t,e,r){return n.apply(this,arguments)};break;case 4:a=function(t,e,r,a){return n.apply(this,arguments)};break;case 5:a=function(t,e,r,a,i){return n.apply(this,arguments)};break;default:for(var o=[],s=0,u=i.length;s<u;s++)o.push("_"+s);a=eval("(function(){return function("+o.join(",")+"){var args = [].slice.call(arguments, 0);return e(i, args, r);};})();")}t[t.length-1]=a}return t}function f(t,e){return t&&e&&(t.moduleName=e),t}function l(t,e,r){return function(){try{q=e,r&&d(e),t.apply(this,arguments),r&&p()}catch(n){throw r&&p(),f(n,e)}}}function d(e){X.each(["setTimeout","setInterval"],function(r){X.wrap(!0,t,r,function(t){return function(){var r,n=X.args.apply(this,arguments),a=n[0];return"function"==typeof a&&(r=l(a,e,!0)),r&&(n[0]=r),t.apply?t.apply(this,n):Function.prototype.apply.apply(t,[t,n])}})})}function p(){X.each(["setTimeout","setInterval"],function(e){X.unwrap(t,e)})}function h(t){H&&X.wrap(!1,H.prototype,"addEventListener",function(e){return function(){var r,n=X.args.apply(this,arguments),a=n[1];return"function"==typeof a&&(r=l(a,t,!0)),r&&(n[1]=r),e.apply(this,n)}}),d(t)}function v(){H&&X.unwrap(H.prototype,"addEventListener"),p()}function y(t){return function(t,e){}}function m(){return ft&&ft.indexOf("1")>-1}function g(){var t=0;if(G.firstPaint)t=G.firstPaint;else if(ct){var e=ct.timing;t=e.domLoading,ct.getEntriesByName&&X.each(B.querySelectorAll("head>link, head>script"),function(r){var n;if("LINK"==r.tagName?n=r.href:"SCRIPT"==r.tagName&&(r.defer||(n=r.src)),n){var a=ct.getEntriesByName(n);if(1==a.length){var i=a[0].responseEnd+e.navigationStart;i>t&&(t=i)}}}),t-=e.navigationStart,G.firstPaint=Math.round(t)}return t}function _(){if(G.fs)return G.fs;G.firstPaint||g();var e=G.firstPaint,r=t.innerHeight;if(ct&&ct.getEntriesByName){var n=[];X.each(B.querySelectorAll("img"),function(t){"none"!=t.style.display&&""!=t.src&&t.offsetTop<=r&&n.push(t.src)}),X.each(n,function(t){var r=ct.getEntriesByName(t);if(r.length){var n=r[0].responseEnd;n>e&&(e=n)}})}return G.fs=Math.round(e),e}function S(){var t=ct.timing&&ct.timing.navigationStart||G.st,e=G.end_time-t;return G.dr=e,e}function w(){if(this.errors.length){var t=function(t){var e=[],r={};X.each(t,function(t){var e=N(t[1],t[2],t[3],t[6]);r[e]?r[e][4]+=1:r[e]=[t[1],t[2],t[3],"#"==t[4]?B.URL:t[4],1,t[5],t[6],t[7]]});for(var n in r)e.push(r[n]);return e}(this.errors),e=this;X.POST(X.mkurl(G.server.beacon,"err",{fu:U?U:U++,os:parseInt((u()-(F||G.st))/1e3)}),X.stringify({datas:t}),{},function(t,r){t||(e.errors=[])})}}function T(){e("DOMContentLoaded"),lt.initend()}function b(){"complete"===B.readyState&&(e("readyStateComplete"),lt.initend())}function E(t){function e(){lt.send()}return!!G.load_time||(lt.initend(),G.load_time=u(),J&&(W.load=G.load_time),void(9===t?e():setTimeout(e,0)))}function k(){dt||E(9),X.bind(w,lt)(),dt=1}function x(){lt.touch||(lt.touch=u())}function P(t){if(t[6]){var e=t[4],r=t[5];if(r&&"string"==typeof r&&e){r=r.split(/\n/);var n=$.exec(r[0]);n||(n=$.exec(r[1])),n&&n[1]!=e&&(t[4]=n[1]||e,t[2]=n[2]||t[2],t[3]=n[3]||t[3])}}}function N(t,e,r,n){return String(t)+String(e)+String(r)+String(n)}function L(e){var r=arguments,n="unknown",a=[u()];if(0!=r.length){if("string"==typeof e){var i=r.length<4?r.length:4;a[1]=r[0],i>2&&(a[2]=r[2],a[3]=0,a[4]=r[1]),i>3&&r[3]&&(a[3]=r[3])}else if(e instanceof Event||t.ErrorEvent&&e instanceof ErrorEvent){if(a[1]=e.message||(e.error&&e.error.constructor.name)+(e.error&&e.error.message)||"",a[2]=e.lineno?e.lineno:0,a[3]=e.colno?e.colno:0,a[4]=e.filename||e.error&&e.error.fileName||e.target&&e.target.baseURI||"",!a[4]&&Q)return;a[4]==B.URL&&(a[4]="#"),e.error?(a[5]=e.error.stack,a[6]=e.error.moduleName):(a[5]=null,a[6]=null);var o=N(a[1],a[2],a[3],a[6]);if(a[7]=pt[o]?0:1,pt[o]=!0,a[1]===n&&a[4]===n)return;P(a)}lt.errors.push(a)}}function R(t){return function(){var e=arguments;if(!this._ty_wrap){var r=X.args.apply(this,e);this._ty_rum={method:r[0],url:r[1],start:u()}}try{return t.apply(this,e)}catch(n){return Function.prototype.apply.call(t,this,e)}}}function C(e){return"string"==typeof e?e.length:t.ArrayBuffer&&e instanceof ArrayBuffer?e.byteLength:t.Blob&&e instanceof Blob?e.size:e&&e.length?e.length:0}function I(e){return function(){function r(t){var e,r,n=c._ty_rum;if(n){if(4!==n.readyState&&(n.end=u()),n.s=c.status,""==c.responseType||"text"==c.responseType)n.res=C(c.responseText);else if(c.response)n.res=C(c.response);else try{n.res=C(c.responseText)}catch(i){n.res=0}if(n.readyState=c.readyState,n.cb_time=l,e=[n.method+" "+n.url,n.s>0?n.end-n.start:0,l,n.s,n.s>0?0:t,n.res,n.req],n.r&&(r=a(c),r&&(r=r.xData)&&(e.push(r.id),e.push(r.action),e.push(r.time&&r.time.duration),e.push(r.time&&r.time.qu))),G.aa.push(e),G.server.custom_urls&&G.server.custom_urls.length&&!lt.ct){if(!G.pattern){G.pattern=[];for(var o=0;o<G.server.custom_urls.length;o++)G.pattern.push(new RegExp(G.server.custom_urls[o]))}for(var o=0;o<G.pattern.length;o++)if(n.url.match(G.pattern[o])){lt.ct=n.end+l;break}}lt.sa(),c._ty_rum=null}}function n(){4==c.readyState&&r(0)}function a(e){var r;if(e.getResponseHeader){var n=X.parseJSON(e.getResponseHeader("X-Tingyun-Tx-Data"));n&&n.r&&e._ty_rum&&n.r+""==e._ty_rum.r+""&&(r={name:e._ty_rum.url,xData:n},ct&&t._ty_rum.c_ra.push(r))}return r}function i(t){return function(){var e,r;4==c.readyState&&c._ty_rum&&(c._ty_rum.end=e=u(),c._ty_rum.readyState=4);try{q&&d(q),r=t.apply(this,arguments),q&&p()}catch(a){throw a=f(a,q),q&&p(),q=null,a}return 4==c.readyState&&(l=u()-e),n(),r}}function o(t){return function(){var e=c._ty_rum;return!e||("progress"==t||("abort"==t?r(905):"loadstart"==t?e.start=u():"error"==t?r(990):"timeout"==t&&r(903),!0))}}function s(t,e){e instanceof Array||(e=[e]);for(var r=0;r<e.length;r++){var n=e[r];X.sh(t,n,o(n),!1)}}if(!this._ty_wrap){this._ty_rum.start=u(),this._ty_rum.req=arguments[0]?C(arguments[0]):0;var c=this,l=0,h=X.wrap(!1,this,"onreadystatechange",i);h||X.sh(this,"readystatechange",n,!1),s(this,["error","progress","abort","load","loadstart","loadend","timeout"]),h||setTimeout(function(){X.wrap(!1,c,"onreadystatechange",i)},0)}var v=function(){function t(t){var e={},r=/^(?:([A-Za-z]+):)?(\/{0,3})([0-9.\-A-Za-z]+)(?::(\d+))?/.exec(t);return r&&(e.protocol=r[1]?r[1]+":":"http:",e.hostname=r[3],e.port=r[4]||""),e}return function(e){var r=location;if(e=X.trim(e)){if(e=e.toLowerCase(),e.startsWith("//")&&(e=r.protocol+e),!e.startsWith("http"))return!0;var n=t(e),a=n.protocol===r.protocol&&n.hostname===r.hostname;return a&&(a=n.port===r.port||!r.port&&("http:"===r.protocol&&"80"===n.port||"https:"===r.protocol&&"443"===n.port)),a}return!1}}(),y=arguments;try{var m=G.server;m&&m.id&&this._ty_rum&&v(this._ty_rum.url)&&(this._ty_rum.r=(new Date).getTime()%1e8,this.setRequestHeader&&this.setRequestHeader("X-Tingyun-Id",m.id+";r="+this._ty_rum.r))}catch(g){}try{return e.apply(this,y)}catch(_){return Function.prototype.apply.call(e,this,y)}}}function O(){var e="TINGYUN_DATA";if(G.agent)return G.agent;var r=a(e);if(r){try{r=r.replace(/^"/,"").replace(/"$/,""),r=G.agent=X.parseJSON(decodeURIComponent(r))}catch(n){}i(e,"",-1e3)}else r=t._ty_rum&&t._ty_rum.agent;return r}var q,D=t.XMLHttpRequest,B=document,M=Object.defineProperty,A=t.define,H=t.EventTarget,U=0,$=new RegExp("([a-z]+:/{2,3}.*):(\\d+):(\\d+)"),z=t.encodeURIComponent,F=null,X={wrap:function(t,e,r,n,a){try{var i=e[r]}catch(o){if(!t)return!1}if(!i&&!t)return!1;if(i&&i._ty_wrap)return!1;try{e[r]=n(i,a)}catch(o){return!1}return e[r]._ty_wrap=[i],!0},unwrap:function(t,e){try{var r=t[e]._ty_wrap;r&&(t[e]=r[0])}catch(n){}},each:function(t,e){if(t){var r;for(r=0;r<t.length&&(!t[r]||!e(t[r],r,t));r+=1);}},mkurl:function(t,e){var a=arguments,i=/^https/i.test(B.URL)?"https":"http";if(i=i+"://"+t+"/"+e+"?av=1.6.2&v=1.6.0&key="+s(G.server.key)+"&ref="+s(B.URL)+"&rand="+u()+"&pvid="+at+"&did="+s(r())+"&sid="+s(n()),"pf"!==e&&G&&(G.agent=O(),G.agent&&(G.agent.n&&(i+="&n="+s(G.agent.n)),G.agent.user_label&&(i+="&user_label="+s(G.agent.user_label)))),a.length>2){var o=a[2];for(var c in o)i+="&"+c+"="+o[c]}return j.host&&(i+="&cshst="+s(j.host)),j.url&&(i+="&csurl="+s(j.url)),i},GET:function(t,e){function r(){e&&e.apply(this,arguments),n.parentNode&&n.parentNode.removeChild(n)}if(navigator&&navigator.sendBeacon&&rt.test(t))return navigator.sendBeacon(t,null);var n=B.createElement("img");return n.setAttribute("src",t),n.setAttribute("style","display:none"),this.sh(n,"readystatechange",function(){"loaded"!=n.readyState&&4!=n.readyState||r("loaded")},!1),this.sh(n,"load",function(){return r("load"),!0},!1),this.sh(n,"error",function(){return r("error"),!0},!1),B.body.appendChild(n)},fpt:function(t,e,r){function n(t,e,r){var n=B.createElement(t);try{for(var a in e)n[a]=e[a]}catch(i){var o="<"+t;for(var a in e)o+=" "+a+'="'+e[a]+'"';o+=">",r||(o+="</"+t+">"),n=B.createElement(o)}return n}var a=n("div",{style:"display:none"},!1),i=n("iframe",{name:"_ty_rum_frm",width:0,height:0,style:"display:none"},!1),o=n("form",{style:"display:none",action:t,enctype:"application/x-www-form-urlencoded",method:"post",target:"_ty_rum_frm"},!1),s=n("input",{name:"data",type:"hidden"},!0);return s.value=e,o.appendChild(s),a.appendChild(i),a.appendChild(o),B.body.appendChild(a),o.submit(),i.onreadystatechange=function(){"complete"!==i.readyState&&4!==i.readyState||(r(null,i.innerHTML),B.body.removeChild(a))},!0},POST:function(e,r,n,a){if(this.ie)return this.fpt(e,r,a);if(navigator&&navigator.sendBeacon&&rt.test(e)){var i=navigator.sendBeacon(e,r);return a(!i),i}var o;if(t.XDomainRequest)return o=new XDomainRequest,o.open("POST",e),o.onload=function(){a(null,o.responseText)},this.sh(o,"load",function(){a(null,o.responseText)},!1),this.sh(o,"error",function(){a("POST("+e+")error")},!1),this.wrap(!0,o,"onerror",function(t){return function(){return a&&a("post error",o.responseText),!0}}),o.send(r),!0;if(!D)return!1;o=new D,o.overrideMimeType&&o.overrideMimeType("text/html");try{o._ty_wrap=1}catch(s){}var u=0;o.onreadystatechange=function(){4==o.readyState&&200==o.status&&(0==u&&a(null,o.responseText),u++)},o.onerror&&this.wrap(!0,o,"onerror",function(t){return function(){return a("post error",o.responseText),"function"!=typeof t||t.apply(this,arguments)}});try{o.open("POST",e,!0)}catch(s){return this.fpt(e,r,a)}for(var c in n)o.setRequestHeader(c,n[c]);return o.send(r),!0},sh:function(t,e,r,n){return t.addEventListener?t.addEventListener(e,r,n):!!t.attachEvent&&t.attachEvent("on"+e,r)},args:function(){for(var t=[],e=0;e<arguments.length;e++)t.push(arguments[e]);return t},stringify:o,parseJSON:function(e){if(e&&"string"==typeof e){var r=t.JSON?t.JSON.parse:function(t){return new Function("return "+t)()};return r(e)}return null},trim:V?function(t){return null==t?"":V.call(t)}:function(t){return null==t?"":t.toString().replace(/^\s+/,"").replace(/\s+$/,"")},extend:function(t,e){if(t&&e)for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);return t},bind:function(t,e){return function(){return t.apply(e,arguments)}}},j={},G=t._ty_rum=t.TINGYUN=X.extend({st:u(),ra:[],c_ra:[],aa:[],snd_du:function(){return this.server.adu?1e3*this.server.adu:1e4},cc:function(){return this.server.ac?this.server.ac:10},config:function(t,e){var r;if("object"==typeof t)r=t;else{if("string"!=typeof t||void 0===e)throw new Error("illegal arguments");r={},r[t]=e}for(var n in r)j[n]=r[n];return this},setUserLabel:function(t){t&&((this.agent||(this.agent={})).user_label="string"==typeof t?t:X.stringify(t))}},t._ty_rum||{});var ty_rum=G;ty_rum.server = {beacon:"beacon.tingyun.com",beacon_err:"beacon-err.tingyun.com",key:"heTre0seWW0",trace_threshold:7000,ignore_err:false,fp_threshold:2000,fs_threshold:4000,dr_threshold:4000,id:"wl4EtIR_7Is"};if(G.server&&!(G.server.sr&&Math.random()>=G.server.sr)){var J=!("debug"in G.server)||G.server.debug,W={start:G.st,e:{},an:{count:0},visible:[]};!function(){if(J){var t,e;"undefined"!=typeof B.hidden?(t="hidden",e="visibilitychange"):"undefined"!=typeof B.msHidden?(t="msHidden",e="msvisibilitychange"):"undefined"!=typeof B.webkitHidden&&(t="webkitHidden",e="webkitvisibilitychange"),"undefined"==typeof B.addEventListener||"undefined"==typeof B[t]||X.sh(B,e,function(){J&&W.visible.push([B[t],u()])})}}();var Y={fp_threshold:2e3,fs_threshold:4e3,dr_threshold:4e3},Z=X.extend(Y,G.server),K="ignore_err",Q=!(K in G.server)||G.server[K],V=String.prototype.trim;String.prototype.startsWith||(String.prototype.startsWith=function(t,e){return e=e||0,this.indexOf(t,e)===e});var tt,et,rt=/^http/i,nt=function(){function t(t){return t<0?NaN:t<=30?0|Math.random()*(1<<t):t<=53?(0|Math.random()*(1<<30))+(0|Math.random()*(1<<t-30))*(1<<30):NaN}function e(t,e){for(var r=t.toString(16),n=e-r.length,a="0";n>0;n>>>=1,a+=a)1&n&&(r=a+r);return r}return function(){return e(t(32),8)+"-"+e(t(16),4)+"-"+e(16384|t(12),4)+"-"+e(32768|t(14),4)+"-"+e(t(48),12)}}(),at=nt(),it="TY_DISTINCT_ID",ot="TY_SESSION_ID",st=function(){try{return localStorage.setItem(at,at),localStorage.removeItem(at),!0}catch(t){return!1}}();st?(tt=X.bind(localStorage.getItem,localStorage),et=X.bind(localStorage.setItem,localStorage)):(tt=a,et=i);try{M&&M(t,"define",{get:function(){return A},set:function(t){"function"==typeof t&&(t.amd||t.cmd)?(A=function(){var e=X.args.apply(this,arguments);if(3!==e.length)return t.apply(this,e);var r="string"==typeof e[0]?e[0]:"anonymous";return t.apply(this,c(e,function(t,e,r){var n;try{q=r,h(r),n=t.apply(this,e),v()}catch(a){throw v(),f(a,r)}return n},r))},X.extend(A,t)):A=t},configurable:!0})}catch(ut){}var ct=t.performance?t.performance:t.Performance;ct&&(X.sh(ct,"resourcetimingbufferfull",function(){var t=ct.getEntriesByType("resource");t&&(G.ra=G.ra.concat(t),ct.clearResourceTimings())},!1),X.sh(ct,"webkitresourcetimingbufferfull",function(){var t=ct.getEntriesByType("resource");t&&(G.ra=G.ra.concat(t),ct.webkitClearResourceTimings())},!1));for(var ft="",lt=G.metric={ready:function(){return G.load_time},initend:function(){function t(){lt.sa()}G.end_time||(G.end_time=u(),J&&(W.end=G.end_time),this._h=setInterval(t,2e3))},send:function(){function e(){function e(t){return n[t]>0?n[t]-a:0}var r={};if(ct&&ct.timing){var n=ct.timing;if(J){var i=W.t={};for(var o in n){var u=n[o];"function"!=typeof u&&(i[o]=u)}}a=n.navigationStart;var c=e("domainLookupStart"),f=e("domainLookupEnd"),l=e("redirectStart"),d=e("redirectEnd"),p=e("connectStart"),h=e("connectEnd");r={f:e("fetchStart"),qs:e("requestStart"),rs:e("responseStart"),re:e("responseEnd"),os:e("domContentLoadedEventStart"),oe:e("domContentLoadedEventEnd"),oi:e("domInteractive"),oc:e("domComplete"),ls:e("loadEventStart"),le:e("loadEventEnd"),tus:e("unloadEventStart"),tue:e("unloadEventEnd"),ressize:!0},h-p>0&&(r.cs=p,r.ce=h),f-c>0&&(r.ds=c,r.de=f),(d-l>0||d>0)&&(r.es=l,r.ee=d),0==r.le&&(r.ue=G.load_time-a);var v;if(n.msFirstPaint)v=n.msFirstPaint,J&&(W.fp="m_"+v);else if(t.chrome&&chrome.loadTimes){var y=chrome.loadTimes();y&&(y.firstPaintTime&&(v=1e3*y.firstPaintTime),J&&(W.fp="c_"+y.firstPaintTime))}else G.firstPaint&&(v=G.firstPaint,J&&(W.fp=G.firstPaint));v&&(r.fp=Math.round(v-a),G.firstPaint=r.fp),n.secureConnectionStart&&(r.sl=e("secureConnectionStart"))}else r={t:a,os:G.end_time-a,ls:G.load_time-a,ressize:!1};r.je=lt.errors.length,lt.ct&&(r.ct=lt.ct-a),lt.touch&&(r.fi=lt.touch-a);var m=O();return m&&(r.id=s(m.id),r.a=m.a,r.q=m.q,r.tid=s(m.tid),r.n=s(m.n)),r.sh=t.screen&&t.screen.height,r.sw=t.screen&&t.screen.width,r}function r(e){var r=t._ty_rum.c_ra;if(e)for(var n=r.length-1;n>=0;n--)if(e.indexOf(r[n].name)>-1)return r[n].xData;return null}function n(t){function e(t){return d[t]>0?d[t]:0}var n="1",i="0";if(ft+=g()>=Z.fp_threshold?n:i,ft+=_()>=Z.fs_threshold?n:i,ft+=S()>=Z.dr_threshold?n:i,ft+=t>=G.server.trace_threshold?n:i,!m())return null;var o=ct;if(o&&o.getEntriesByType){var u={tr:!0,tt:s(B.title),charset:B.characterSet},c=G.ra,f=o.getEntriesByType("resource");f&&(c=c.concat(f),o.clearResourceTimings?o.clearResourceTimings():o.webkitClearResourceTimings&&o.webkitClearResourceTimings()),u.res=[];for(var l=0;l<c.length;l++){var d=c[l],p={o:e("startTime"),rt:d.initiatorType,n:d.name,f:e("fetchStart"),ds:e("domainLookupStart"),de:e("domainLookupEnd"),cs:e("connectStart"),ce:e("connectEnd"),sl:e("secureConnectionStart"),qs:e("requestStart"),rs:e("responseStart"),re:e("responseEnd"),ts:d.transferSize||0,es:d.encodedBodySize||0},h=r(d.name);h&&(p.aid=h.id,p.atd=h.trId,p.an=h.action,p.aq=h.time&&h.time.qu,p.as=h.time&&h.time.duration),u.res.push(p)}if(lt.errors.length){u.err=[];for(var l=0,v=lt.errors,y=v.length;l<y;l++)u.err.push({o:Math.round(v[l][0]-a),e:v[l][1]&&v[l][1].replace(/([\"\\])/g,"\\$1").replace(/\n/g,"\\n"),l:v[l][2],c:v[l][3],r:v[l][4],ec:y,s:v[l][5],m:v[l][6],ep:v[l][7]})}return u}return null}if(this.sended)return!1;if(!this.ready())return!1;var a=G.st,i={};try{var o=e();i=n(o.ls>0?o.ls:G.load_time-a);var c={trflag:ft||"0000",fp:G.firstPaint,fs:G.fs,dr:G.dr};X.extend(o,c)}catch(f){}i?(J&&(i.debug=W),i=X.stringify(i)):i="",J=!1;var l=X.mkurl(G.server.beacon,"pf",o);F=u(),0!=i.length&&X.POST(l,i,{},y("POST"))||X.GET(l);var d=X.bind(w,this);return d(),setInterval(d,1e4),this.sended=!0,this.sa(1),!0},sa:function(t){(this.ready()||t)&&(t||(t=!this._last_send||u()-this._last_send>G.snd_du()||G.aa.length>=G.cc()),G.aa.length>0&&t&&(this._last_send=u(),X.POST(X.mkurl(G.server.beacon,"xhr"),X.stringify({xhr:G.aa}),{},y("POST")),G.aa=[]))},errors:[]},dt=null,pt={},ht=[["load",E],["beforeunload",k],["pagehide",k],["unload",k],["pageshow",function(){}]],vt=0;vt<ht.length;vt++){var yt=null;J&&(yt=function(t,r){return function(n){return e(t),r.apply(this,arguments)}}(ht[vt][0],ht[vt][1])),X.sh(t,ht[vt][0],yt||ht[vt][1],!1)}t.addEventListener?X.sh(t,"error",L,!1):t.onerror=function(t,e,r,n,a){if(e||!Q){var i=[u(),t,r,n,e==B.URL?"#":e],o=N(t,r,n,a&&a.moduleName);i=i.concat([a&&a.stack,a&&a.moduleName,pt[o]?0:1]),pt[o]=!0,P(i),lt.errors.push(i)}};for(var mt=[["scroll",x],["keypress",x],["click",x],["DOMContentLoaded",T],["readystatechange",b]],vt=0;vt<mt.length;vt++)X.sh(B,mt[vt][0],mt[vt][1],!1);if(X.wrap(!1,t,"requestAnimationFrame",function(e){return function(){var r=u();return J&&(W.an.count++,W.an.t=r),G.firstPaint=r,t.requestAnimationFrame=e,e.apply(this,arguments)}}),D)if(D.prototype)X.wrap(!1,D.prototype,"open",R),X.wrap(!1,D.prototype,"send",I);else{X.ie=7;var gt=D;t.XMLHttpRequest=function(){var t=new gt;return X.wrap(!1,t,"open",R),X.wrap(!1,t,"send",I),t}}else t.ActiveXObject&&(X.ie=6)}ty_rum.agent={id:'boy5mtpvRsQ#vLgNgZ_Nb2U',n:'WebAction/MVC/Article%2Fdetails',tid:'a6146a4da96beb3492d8',q:0,a:171};}(window);</script>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="description" content="环境管理管理 Python 版本和环境的工具p – 非常简单的交互式 python 版本管理工具。 pyenv – 简单的 Python 版本管理工具。 Vex – 可以在虚拟环境中执行命令。 virtualenv – 创建独立 Python 环境的工具。 virtualenvwrapper- virtualenv 的一组扩展。 包管理管理包和依赖的工具。pip – Python 包和依赖">

    <meta name="keywords" content="">

   
    <script src="http://static.blog.csdn.net/scripts/blog_static_head.min.js" type="text/javascript"></script>

    
        <!--new top-->
       
       
        <!--new top-->
    
      <!-- ad begin -->
         
    <!-- ad end-->

    <link rel="Stylesheet" type="text/css" href="http://static.blog.csdn.net/skin/skin-white/css/style.css?v=1.1">

    

    <link id="RSSLink" title="RSS" type="application/rss+xml" rel="alternate" href="/yincheng01/rss/list">
    <link rel="shortcut icon" href="http://c.csdnimg.cn/public/favicon.ico">
    <link type="text/css" rel="stylesheet" href="http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/default.css">
 


        <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>

    <link href="http://c.csdnimg.cn/blog/csdn_public_blog_detail.min.css" type="text/css" rel="stylesheet">
     
         <link rel="stylesheet" href="http://static.blog.csdn.net/css/csdn_blog_detail.min.css">

  


    <!-- 请置于所有广告位代码之前 --> 
            <script src="http://dup.baidustatic.com/js/ds.js"></script>

<style type="text/css">#tad2,div#ad_top,DIV[class^="ad_"],#Topic_Top,div#ad_left,div#ad_right,DIV.AD.mb-bg,.enter-AD,.top_ad,.ad .J_adv,.dl_mar_b,.J_adv{display:none!important;display:none}</style><script src="http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion=417181"></script><script src="https://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js"></script><link rel="stylesheet" type="text/css" href="http://csdnimg.cn/rabbit/notev2/css/style.css?4d63d1f"><link type="text/css" rel="stylesheet" href="http://passport.csdn.net/content/loginbox/style.css?r=1501856897863"><script src="http://bdimg.share.baidu.com/static/js/logger.js?cdnversion=417183"></script><link href="http://bdimg.share.baidu.com/static/css/bdsstyle.css?cdnversion=20131219" rel="stylesheet" type="text/css"><link rel="stylesheet" type="text/css" href="//csdnimg.cn/public/common/tag-suggest-pop/css/style.css?dd7cc7c"><style type="text/css">.MathJax_Hover_Frame {border-radius: .25em; -webkit-border-radius: .25em; -moz-border-radius: .25em; -khtml-border-radius: .25em; box-shadow: 0px 0px 15px #83A; -webkit-box-shadow: 0px 0px 15px #83A; -moz-box-shadow: 0px 0px 15px #83A; -khtml-box-shadow: 0px 0px 15px #83A; border: 1px solid #A6D ! important; display: inline-block; position: absolute}
.MathJax_Hover_Arrow {position: absolute; width: 15px; height: 11px; cursor: pointer}
</style><style type="text/css">#MathJax_About {position: fixed; left: 50%; width: auto; text-align: center; border: 3px outset; padding: 1em 2em; background-color: #DDDDDD; color: black; cursor: default; font-family: message-box; font-size: 120%; font-style: normal; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; z-index: 201; border-radius: 15px; -webkit-border-radius: 15px; -moz-border-radius: 15px; -khtml-border-radius: 15px; box-shadow: 0px 10px 20px #808080; -webkit-box-shadow: 0px 10px 20px #808080; -moz-box-shadow: 0px 10px 20px #808080; -khtml-box-shadow: 0px 10px 20px #808080; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
.MathJax_Menu {position: absolute; background-color: white; color: black; width: auto; padding: 5px 0px; border: 1px solid #CCCCCC; margin: 0; cursor: default; font: menu; text-align: left; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; z-index: 201; border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px; -khtml-border-radius: 5px; box-shadow: 0px 10px 20px #808080; -webkit-box-shadow: 0px 10px 20px #808080; -moz-box-shadow: 0px 10px 20px #808080; -khtml-box-shadow: 0px 10px 20px #808080; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
.MathJax_MenuItem {padding: 1px 2em; background: transparent}
.MathJax_MenuArrow {position: absolute; right: .5em; color: #666666}
.MathJax_MenuActive .MathJax_MenuArrow {color: white}
.MathJax_MenuArrow.RTL {left: .5em; right: auto}
.MathJax_MenuCheck {position: absolute; left: .7em}
.MathJax_MenuCheck.RTL {right: .7em; left: auto}
.MathJax_MenuRadioCheck {position: absolute; left: .7em}
.MathJax_MenuRadioCheck.RTL {right: .7em; left: auto}
.MathJax_MenuLabel {padding: 1px 2em 3px 1.33em; font-style: italic}
.MathJax_MenuRule {border-top: 1px solid #DDDDDD; margin: 4px 3px}
.MathJax_MenuDisabled {color: GrayText}
.MathJax_MenuActive {background-color: #606872; color: white}
.MathJax_Menu_Close {position: absolute; width: 31px; height: 31px; top: -15px; left: -15px}
</style><style type="text/css">#MathJax_Zoom {position: absolute; background-color: #F0F0F0; overflow: auto; display: block; z-index: 301; padding: .5em; border: 1px solid black; margin: 0; font-weight: normal; font-style: normal; text-align: left; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; box-shadow: 5px 5px 15px #AAAAAA; -webkit-box-shadow: 5px 5px 15px #AAAAAA; -moz-box-shadow: 5px 5px 15px #AAAAAA; -khtml-box-shadow: 5px 5px 15px #AAAAAA; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
#MathJax_ZoomOverlay {position: absolute; left: 0; top: 0; z-index: 300; display: inline-block; width: 100%; height: 100%; border: 0; padding: 0; margin: 0; background-color: white; opacity: 0; filter: alpha(opacity=0)}
#MathJax_ZoomFrame {position: relative; display: inline-block; height: 0; width: 0}
#MathJax_ZoomEventTrap {position: absolute; left: 0; top: 0; z-index: 302; display: inline-block; border: 0; padding: 0; margin: 0; background-color: white; opacity: 0; filter: alpha(opacity=0)}
</style><style type="text/css">.MathJax_Preview {color: #888}
#MathJax_Message {position: fixed; left: 1px; bottom: 2px; background-color: #E6E6E6; border: 1px solid #959595; margin: 0px; padding: 2px 8px; z-index: 102; color: black; font-size: 80%; width: auto; white-space: nowrap}
#MathJax_MSIE_Frame {position: absolute; top: 0; left: 0; width: 0px; z-index: 101; border: 0px; margin: 0px; padding: 0px}
.MathJax_Error {color: #CC0000; font-style: italic}
</style></head>


<body><div id="MathJax_Message" style="display: none;"></div><iframe frameborder="0" style="display: none;"></iframe><div class="csdn-toolbar csdn-toolbar-skin-black ">        <div class="container row center-block ">          <div class="col-md-3 pull-left logo clearfix"><a href="http://www.csdn.net?ref=toolbar" title="CSDN首页" target="_blank" class="icon"></a><a title="频道首页" href="http://blog.csdn.net?ref=toolbar_logo" class="img blog-icon"></a></div>          <div class="pull-right login-wrap ">            <ul class="btns">              <li class="loginlink"><a href="https://passport.csdn.net/account/login?ref=toolbar" target="_top">登录 </a>|<a target="_top" href="http://passport.csdn.net/account/mobileregister?ref=toolbar&action=mobileRegister"> 注册</a></li>              <li class="search">                <div class="icon on-search-icon">                  <div class="wrap">                    <div class="curr-icon-wrap">                      <div class="curr-icon"></div>                    </div>                    <form action="http://so.csdn.net/search" id="toolbar_search" method="get" target="_blank">                      <input type="hidden" value="toolbar" name="ref" accesskey="2">                      <div class="border">                        <input placeholder="搜索" type="text" value="" name="q" accesskey="2"><span class="icon-enter-sm"></span>                      </div>                    </form>                  </div>                </div>              </li>              <li class="favor">                <div class="icon on-favor-icon">                  <div class="wrap">                    <div class="curr-icon-wrap">                      <div class="curr-icon"></div>                    </div>                    <div style="display:none;" class="favor-success"><span class="msg">收藏成功</span>                      <div class="btns"><span class="btn btn-primary ok">确定</span></div>                    </div>                    <div style="display:none;" class="favor-failed"><span class="icon-danger-lg"></span><span class="msg">收藏失败,请重新收藏</span>                      <div class="btns"><span class="btn btn-primary ok">确定</span></div>                    </div>                    <form role="form" class="form-horizontal favor-form">                      <div class="form-group">                        <div class="clearfix">                          <label for="input-title" class="col-sm-2 control-label"><span class="red_txt">*</span>标题</label>                          <div class="col-sm-10">                            <input id="inputTitle" type="text" placeholder="" class="title form-control">                          </div>                        </div>                        <div class="alert alert-danger"><strong></strong>标题不能为空</div>                      </div>                      <div class="form-group" style="display:none;">                        <label for="input-url" class="col-sm-2 control-label">网址</label>                        <div class="col-sm-10">                          <input id="input-url" type="text" placeholder="" class="url form-control">                        </div>                      </div>                      <div class="form-group">                        <label for="input-tag" class="col-sm-2 tag control-label">标签</label>                        <div class="col-sm-10">                          <input id="input-tag" type="text" class="form-control tag">                        </div>                      </div>                      <div class="form-group">                        <label for="input-description" class="description col-sm-2 control-label">位置</label>                        <div class="col-sm-10">                          <div class="my_lib_box">                            个人主页 - <a href="http://my.csdn.net/" target="_blank">我的知识</a>                          </div>                          <div class="checkbox">                            <div class="pull-left">                              <label>                                <input type="checkbox" name="share" class="save_lib_map" checked="checked">同时保存至:                              </label>                            </div>                            <div class="pull-left">                              <div class="dropdown">                                <button id="toolbar_sele_map" type="button">                                  选择知识图谱                                  <i class="fa fa-chevron-down"></i>                                </button>                                <div class="top_arr"></div>                                <div class="outside">                                  <ul class="dropdown-menu" id="toolbar_Design_knowledge"><li>Python Web开发实录</li></ul>                                </div>                              </div>                            </div>                            <div class="pull-left new_txt">                              <a href="http://lib.csdn.net/my/create/structure" target="_blank">新建?</a>                            </div>                          </div>                        </div>                      </div>                      <div class="form-group">                        <div class="col-sm-offset-2 col-sm-10 ft">                          <div class="col-sm-4 pull-left" style="display:none">                            <div class="checkbox">                              <label>                                <input type="checkbox" name="share" checked="checked" class="share">公开                              </label>                            </div>                          </div>                          <div class="col-sm-8 pull-right favor-btns">                            <button type="button" class="cancel btn btn-default">取消</button>                            <button type="submit" class="submit btn btn-primary">收藏</button>                          </div>                        </div>                      </div>                    </form>                  </div>                </div>              </li>              <li class="notify">                <div style="display:none" class="number"></div>                <div style="display:none" class="icon-hasnotes-sm"></div>                <div id="header_notice_num"><div class="icon-hasnotes" style="display:none"></div></div>                <div class="icon on-notify-icon">                  <div class="wrap">                    <div class="curr-icon-wrap">                      <div class="curr-icon"></div>                    </div>                    <div id="note1" class="csdn_note" style="display: none; left: -212px; top: 25px;">                      <div class="box"><div class="notifications notice_list_con curr">  <div class="menu_title">    <span class="title"><a href="http://msg.csdn.net/letters" target="_blank" class="read_all">查看所有私信</a><a href="http://msg.csdn.net" target="_blank" class="go_all">查看所有通知</a></span>  </div>  <div class="loading" style="display: none;"></div>  <div class="empty" style="display: none;">暂没有新通知</div>  <div class="notice_content" style="overflow-y: auto; max-height: 270px;"><dl data-ids="17864657" class="list rev_type1234" style="/*display: none*/">  <dt>    <i></i>    <span class="item_title"> 感谢您使用CSDN移动客户端,系统奖励您50C币,<a href="http://my.csdn.net/my/score?type=1">点击查看</a>     </span>    <span class="count_down">2015-07-21</span>  </dt></dl><dl data-ids="14991723" class="list rev_type1234" style="/*display: none*/">  <dt>    <i></i>    <span class="item_title"> 【每日一课】【深入理解计算机网络】入门必备的计算机网络基础视频课程(下)     </span>    <span class="count_down">2015-01-22</span>  </dt></dl><dl data-ids="14961701" class="list rev_type1234" style="/*display: none*/">  <dt>    <i></i>    <span class="item_title"> 【每日一课】通俗易懂UML     </span>    <span class="count_down">2015-01-20</span>  </dt></dl><dl data-ids="14955592" class="list rev_type1234" style="/*display: none*/">  <dt>    <i></i>    <span class="item_title"> 【精品课程】实战进阶学习Unity3d游戏开发     </span>    <span class="count_down">2015-01-19</span>  </dt></dl><dl data-ids="14670603" class="list rev_type1234" style="/*display: none*/">  <dt>    <i></i>    <span class="item_title"> CSDN 2014博客之星评选开始啦~     </span>    <span class="count_down">2014-12-29</span>  </dt></dl></div></div><div class="notifications detail_con" style="display: none">  <div class="menu_title">    <span class="title">      <a class="go_back" href="javascript:void 0;">返回通知列表</a>      <a class="notifications_page_none nextnote" href="javascript:void 0;">下一条</a>      <a class="notifications_page prvnote" href="javascript:void 0;">上一条</a>    </span>  </div>  <div class="notice_content" style="overflow-y: scroll; height: 250px;"><div style="/*display: none*/">  <dl class="detail_list rev_type1234" data-ids="17864657">    <dt>      <i></i>      <span class="item_title"><a href="http://my.csdn.net/my/score?type=1">感谢您使用CSDN移动客户端,系统奖励您50C币</a></span>      <span class="count_down"></span>    </dt>  </dl>  <div class="loading"></div>  <div class="empty">暂没有新通知</div>  <a class="notifications_more" target="_blank">查看其它 0 条</a></div><div style="/*display: none*/">  <dl class="detail_list rev_type1234" data-ids="14991723">    <dt>      <i></i>      <span class="item_title"><a href="http://edu.csdn.net/course/detail/356" target="_blank">【每日一课】【深入理解计算机网络】入门必备的计算机网络基础视频课程(下)</a></span>      <span class="count_down"></span>    </dt>  </dl>  <div class="loading"></div>  <div class="empty">暂没有新通知</div>  <a class="notifications_more" target="_blank">查看其它 0 条</a></div><div style="/*display: none*/">  <dl class="detail_list rev_type1234" data-ids="14961701">    <dt>      <i></i>      <span class="item_title"><a href="http://edu.csdn.net/course/detail/174" target="_blank">【每日一课】通俗易懂UML</a></span>      <span class="count_down"></span>    </dt>  </dl>  <div class="loading"></div>  <div class="empty">暂没有新通知</div>  <a class="notifications_more" target="_blank">查看其它 0 条</a></div><div style="/*display: none*/">  <dl class="detail_list rev_type1234" data-ids="14955592">    <dt>      <i></i>      <span class="item_title"><a href="http://edu.csdn.net/course/detail/305">  【精品课程】实战进阶学习Unity3d游戏开发 </a></span><a href="http://edu.csdn.net/course/detail/305">      <span class="count_down"></span>    </a></dt><a href="http://edu.csdn.net/course/detail/305">  </a></dl><a href="http://edu.csdn.net/course/detail/305">  <div class="loading"></div>  <div class="empty">暂没有新通知</div>  </a><a class="notifications_more" target="_blank">查看其它 0 条</a></div><div style="/*display: none*/">  <dl class="detail_list rev_type1234" data-ids="14670603">    <dt>      <i></i>      <span class="item_title">博客之星,感谢有你~<a href="http://vote.blog.csdn.net/" target="_blank">CSDN 2014博客之星评选 </a>开始啦~</span>      <span class="count_down"></span>    </dt>  </dl>  <div class="loading"></div>  <div class="empty">暂没有新通知</div>  <a class="notifications_more" target="_blank">查看其它 0 条</a></div></div></div><div class="error"></div></div>                    <iframe src="about:block" frameborder="0" allowtransparency="true" style="z-index:-1;position:absolute;top:0;left:0;width:100%;height:100%;background:transparent"></iframe></div>                  </div>                </div>              </li>              <li class="ugc">                <div class="icon on-ugc-icon">                  <div class="wrap clearfix">                    <div class="curr-icon-wrap">                      <div class="curr-icon"></div>                    </div>                    <dl>                      <dt><a href="http://geek.csdn.net/news/expert?ref=toolbar" target="_blank" class="p-news clearfix" style="display:none;"><em class="icon"></em><span>分享资讯</span></a></dt>                      <dt style="border: none;"><a href="http://u.download.csdn.net/upload?ref=toolbar" target="_blank" class="p-doc clearfix"><em class="icon"></em><span>传PPT/文档</span></a></dt>                      <dt><a href="http://bbs.csdn.net/topics/new?ref=toolbar" target="_blank" class="p-ask clearfix"><em class="icon"></em><span>提问题</span></a></dt>                      <dt><a href="http://write.blog.csdn.net/postedit?ref=toolbar" target="_blank" class="p-blog clearfix"><em class="icon"></em><span>写博客</span></a></dt>                      <dt><a href="http://u.download.csdn.net/upload?ref=toolbar" target="_blank" class="p-src clearfix"><em class="icon"></em><span>传资源</span></a></dt>                      <dt><a href="https://code.csdn.net/projects/new?ref=toolbar" target="_blank" class="c-obj clearfix"><em class="icon"></em><span>创建项目</span></a></dt>                      <dt><a href="https://code.csdn.net/snippets/new?ref=toolbar" target="_blank" class="c-code clearfix"><em class="icon"></em><span>创建代码片</span></a></dt>                    </dl>                  </div>                </div>              </li>              <li class="profile">                <div class="icon on-profile-icon"><img src="http://avatar.csdn.net/2/E/A/2_wuqing942274053.jpg" class="curr-icon-img">                  <div class="wrap clearfix">                    <div class="curr-icon-wrap">                      <div class="curr-icon"></div>                    </div>                    <div class="bd">                      <dl class="clearfix">                        <dt class="pull-left img"><a target="_blank" href="http://my.csdn.net?ref=toolbar" class="avatar"><img src="http://avatar.csdn.net/2/E/A/2_wuqing942274053.jpg"></a></dt>                        <dd class="info" style="border: none;"><a target="_blank" href="http://my.csdn.net?ref=toolbar" class="nickname">wuqing942274053</a><span class="dec"><a class="fill-dec" href="//my.csdn.net" target="_blank">编辑自我介绍,让更多人了解你<span class="write-icon"></span></a></span></dd>                      </dl>                    </div>                    <div class="ft clearfix"><a target="_blank" href="http://my.csdn.net/my/account/changepwd?ref=toolbar" class="pull-left"><span class="icon-cog"></span>帐号设置</a><a href="https://passport.csdn.net/account/logout?ref=toolbar" target="_top" class="pull-left" style="margin-left:132px; width:18px; height:27px; white-space:nowrap; overflow:hidden;"><span class="icon-signout"></span><span class="out">退出</span></a></div>                  </div>                </div>              </li>              <li class="apps">                <div id="chasnew123" class="hasnew" style="display: none;"></div>                <div id="cappsarea123" class="icon on-apps-icon">                  <div class="wrap clearfix">                    <div class="curr-icon-wrap">                      <div class="curr-icon"></div>                    </div>                  <div class="detail">                    <dl>                      <dt>                        <h5>社区</h5>                      </dt>                      <dd> <a href="http://blog.csdn.net?ref=toolbar" target="_blank">博客</a></dd>                      <dd> <a href="http://bbs.csdn.net?ref=toolbar" target="_blank">论坛</a></dd>                      <dd> <a href="http://download.csdn.net?ref=toolbar" target="_blank">下载</a></dd>                      <dd> <a href="http://lib.csdn.net?ref=toolbar" target="_blank">知识库</a></dd>                      <dd><a href="http://ask.csdn.net?ref=toolbar" target="_blank">技术问答</a></dd>                      <dd><a href="http://geek.csdn.net?ref=toolbar" target="_blank">极客头条</a></dd>                      <dd style="display:none"> <a href="http://hero.csdn.net?ref=toolbar" target="_blank">英雄会</a></dd>                    </dl>                  </div>                  <div class="detail">                    <dl>                      <dt>                        <h5>服务</h5>                      </dt>                      <dd style="display:none"> <a href="http://job.csdn.net?ref=toolbar" target="_blank">JOB<img src="http://c.csdnimg.cn/public/common/toolbar/images/new.gif" style="display: none; margin-top: -26px; width: 23px;"></a></dd>                      <dd> <a href="http://edu.csdn.net?ref=toolbar" target="_blank">学院<img src="http://c.csdnimg.cn/public/common/toolbar/images/new.gif" style="display: none; margin-top: -26px; width: 23px;"></a></dd>                      <dd> <a href="https://code.csdn.net?ref=toolbar" target="_blank">CODE</a></dd>                      <dd> <a href="http://huiyi.csdn.net/?ref=toolbar" target="_blank">活动</a></dd>                      <dd> <a href="http://www.csto.com?ref=toolbar" target="_blank">CSTO</a></dd>                      <dd> <a href="http://mall.csdn.net?ref=toolbar" target="_blank">C币兑换<img src="http://c.csdnimg.cn/public/common/toolbar/images/new.gif" style="display: none; margin-top: -26px; width: 23px;"></a></dd>                    </dl>                  </div>                  <div class="detail last">                    <dl>                      <dt>                        <h5>俱乐部</h5>                      </dt>                      <dd> <a href="http://cto.csdn.net?ref=toolbar" target="_blank">CTO俱乐部</a></dd>                      <dd> <a href="http://student.csdn.net?ref=toolbar" target="_blank">高校俱乐部</a></dd>                    </dl>                  </div>                </div>              </div>            </li>            </ul>          </div>        </div>    </div>
     

    <!-- 广告位开始 -->
        
    <!-- 广告位结束 -->

    
   
      <!--new top-->
    <script id="toolbar-tpl-scriptId" fixed="true" prod="blog" skin="black" src="http://c.csdnimg.cn/public/common/toolbar/js/html.js" type="text/javascript"></script>
     <!--new top-->
    <div id="container">
        <div id="header">
    <div class="header">
        <div id="blog_title">
            <h2>
                <a href="http://blog.csdn.net/itcastcpp">尹成的技术博客</a></h2>
            <h3>python   Linux  oracle  mysql   C++  算法  机器学习  深度学习  人工智能</h3>
            <div class="clear">
            </div>
        </div>
        <div class="clear">
        </div>
        
     
    </div>
</div>
<div id="navigator">
    <div class="navigator_bg">
    </div>
    <div class="navigator">
        <ul>           
                <li id="btnContents"><a href="http://blog.csdn.net/itcastcpp?viewmode=contents"><span onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_mulu'])">
                    <img src="http://static.blog.csdn.net/images/ico_list.gif">目录视图</span></a></li>
                <li id="btnView"><a href="http://blog.csdn.net/itcastcpp?viewmode=list"><span onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_zhaiyao'])">
                    <img src="http://static.blog.csdn.net/images/ico_summary.gif">摘要视图</span></a></li>
                <li id="btnRss"><a href="http://blog.csdn.net/itcastcpp/rss/list"><span onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_RSS'])">
                    <img src="http://static.blog.csdn.net/images/ico_rss.gif">订阅</span></a></li>                
            

            </ul>
    </div>
</div>
<script type="text/javascript">
    var username = "yincheng01";
    var _blogger = username;
    var blog_address = "http://blog.csdn.net/itcastcpp";
    var static_host = "http://static.blog.csdn.net";
    var currentUserName = "wuqing942274053";  
</script>

        <div id="body">
            <div id="main">
                <div class="main">
                        <div class="ad_class">
<div class="notice tracking-ad" data-mod="popu_3"> 


<a href="http://blog.csdn.net/epubit17/article/details/76066685" target="_blank">
<font color="red"><strong>赠书 | AI专栏(AI圣经!《深度学习》中文版)</strong></font></a>

    


<a href="http://edu.csdn.net/huiyiCourse/series_detail/54?utm_source=blog1" target="_blank">
<font color="blue"><strong>机器学习&数据挖掘 系统实训</strong></font></a>

    


<a href="http://blog.csdn.net/blogdevteam/article/details/74550215" target="_blank">
<font color="red"><strong>【获奖公布】征文 | 你会为 AI 转型么?</strong></font></a>

</div>                        </div>

                        



  






<script type="text/javascript" src="http://static.blog.csdn.net/scripts/category.js"></script>

  <script type="text/ecmascript">
      window.quickReplyflag = true;
      var isBole = false; 
      var fasrc="http://my.csdn.net/my/favorite/miniadd?t=Python%e5%b8%b8%e7%94%a8%e5%ba%93%e5%a4%a7%e5%85%a8&u=http://blog.csdn.net/itcastcpp/article/details/76602073"
    </script>
<div id="article_details" class="details">
    <div class="article_title">   
         <span class="ico ico_type_Original"></span>

    <h1>
        <span class="link_title"><a href="/itcastcpp/article/details/76602073">
        Python常用库大全        
           
        </a>
        </span>

         
    </h1>
</div>

   

        <div class="article_manage clearfix">
        <div class="article_r">
            <span class="link_postdate">2017-08-03 03:22</span>
            <span class="link_view" title="阅读次数">87人阅读</span>
            <span class="link_comments" title="评论次数"> <a href="#comments" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_pinglun'])">评论</a>(2)</span>
            <span class="link_collect tracking-ad" data-mod="popu_171"> <a href="javascript:void(0);" onclick="javascript:collectArticle('Python%e5%b8%b8%e7%94%a8%e5%ba%93%e5%a4%a7%e5%85%a8','76602073');return false;" title="收藏" target="_blank">收藏</a></span>
             <span class="link_report"> <a href="#report" onclick="javascript:report(76602073,2);return false;" title="举报">举报</a></span>

        </div>
    </div>    <style type="text/css">        
            .embody{
                padding:10px 10px 10px;
                margin:0 -20px;
                border-bottom:solid 1px #ededed;                
            }
            .embody_b{
                margin:0 ;
                padding:10px 0;
            }
            .embody .embody_t,.embody .embody_c{
                display: inline-block;
                margin-right:10px;
            }
            .embody_t{
                font-size: 12px;
                color:#999;
            }
            .embody_c{
                font-size: 12px;
            }
            .embody_c img,.embody_c em{
                display: inline-block;
                vertical-align: middle;               
            }
             .embody_c img{               
                width:30px;
                height:30px;
            }
            .embody_c em{
                margin: 0 20px 0 10px;
                color:#333;
                font-style: normal;
            }
    </style>
    <script type="text/javascript">
        $(function () {
            try
            {
                var lib = eval("("+$("#lib").attr("value")+")");
                var html = "";
                if (lib.err == 0) {
                    $.each(lib.data, function (i) {
                        var obj = lib.data[i];
                        //html += '<img src="' + obj.logo + '"/>' + obj.name + "  ";
                        html += ' <a href="' + obj.url + '" target="_blank">';
                        html += ' <img src="' + obj.logo + '">';
                        html += ' <em><b>' + obj.name + '</b></em>';
                        html += ' </a>';
                    });
                    if (html != "") {
                        setTimeout(function () {
                            $("#lib").html(html);                      
                            $("#embody").show();
                        }, 100);
                    }
                }      
            } catch (err)
            { }
            
        });
    </script>
        <div class="bog_copyright">         
            <p class="copyright_p">版权声明:本文为博主原创文章,未经博主允许不得转载。</p>
        </div>

  

  
  
     


<div id="article_content" class="article_content tracking-ad" data-mod="popu_307" data-dsm="post">
        <div class="markdown_views"><p>环境管理</p>

<p>管理 <a href="http://lib.csdn.net/base/python" class="replace_word" title="Python知识库" target="_blank" style="color:#df3434; font-weight:bold;">Python</a> 版本和环境的工具</p>

<p>p – 非常简单的交互式 <a href="http://lib.csdn.net/base/python" class="replace_word" title="Python知识库" target="_blank" style="color:#df3434; font-weight:bold;">python</a> 版本管理工具。 <br>
pyenv – 简单的 Python 版本管理工具。 <br>
Vex – 可以在虚拟环境中执行命令。 <br>
virtualenv – 创建独立 Python 环境的工具。 <br>
virtualenvwrapper- virtualenv 的一组扩展。 <br>
包管理</p>

<p>管理包和依赖的工具。</p>

<p>pip – Python 包和依赖关系管理工具。 <br>
pip-tools – 保证 Python 包依赖关系更新的一组工具。 <br>
conda – 跨平台,Python 二进制包管理工具。 <br>
Curdling – 管理 Python 包的命令行工具。 <br>
wheel – Python 分发的新标准,意在取代 eggs。 <br>
包仓库</p>

<p>本地 PyPI 仓库服务和代理。</p>

<p>warehouse – 下一代 PyPI。 <br>
Warehousebandersnatch – PyPA 提供的 PyPI 镜像工具。 <br>
devpi – PyPI 服务和打包/<a href="http://lib.csdn.net/base/softwaretest" class="replace_word" title="软件测试知识库" target="_blank" style="color:#df3434; font-weight:bold;">测试</a>/分发工具。 <br>
localshop – 本地 PyPI 服务(自定义包并且自动对 PyPI 镜像)。 <br>
分发</p>

<p>打包为可执行文件以便分发。</p>

<p>PyInstaller – 将 Python 程序转换成独立的执行文件(跨平台)。 <br>
dh-virtualenv – 构建并将 virtualenv 虚拟环境作为一个 Debian 包来发布。 <br>
Nuitka – 将脚本、模块、包编译成可执行文件或扩展模块。 <br>
py2app – 将 Python 脚本变为独立软件包(Mac OS X)。 <br>
py2exe – 将 Python 脚本变为独立软件包(Windows)。 <br>
pynsist – 一个用来创建 Windows 安装程序的工具,可以在安装程序中打包 Python本身。 <br>
构建工具</p>

<p>将源码编译成软件。</p>

<p>buildout – 一个构建系统,从多个组件来创建,组装和部署应用。 <br>
BitBake – 针对<a href="http://lib.csdn.net/base/embeddeddevelopment" class="replace_word" title="嵌入式开发知识库" target="_blank" style="color:#df3434; font-weight:bold;">嵌入式</a> <a href="http://lib.csdn.net/base/linux" class="replace_word" title="Linux知识库" target="_blank" style="color:#df3434; font-weight:bold;">Linux</a> 的类似 make 的构建工具。 <br>
fabricate – 对任何语言自动找到依赖关系的构建工具。 <br>
PlatformIO – 多平台命令行构建工具。 <br>
PyBuilder – 纯 Python 实现的持续化构建工具。 <br>
SCons – 软件构建工具。 <br>
交互式解析器</p>

<p>交互式 Python 解析器。</p>

<p>IPython – 功能丰富的工具,非常有效的使用交互式 Python。 <br>
bpython- 界面丰富的 Python 解析器。 <br>
ptpython – 高级交互式Python解析器, 构建于python-prompt-toolkit 之上。 <br>
文件</p>

<p>文件管理和 MIME(多用途的网际邮件扩充协议)类型检测。</p>

<p>imghdr – (Python 标准库)检测图片类型。 <br>
mimetypes – (Python 标准库)将文件名映射为 MIME 类型。 <br>
path.py – 对 os.path 进行封装的模块。 <br>
pathlib – (Python3.4+ 标准库)跨平台的、面向对象的路径操作库。 <br>
python-magic- 文件类型检测的第三方库 libmagic 的 Python 接口。 <br>
Unipath- 用面向对象的方式操作文件和目录 <br>
watchdog – 管理文件系统事件的 API 和 shell 工具 <br>
日期和时间</p>

<p>操作日期和时间的类库。</p>

<p>arrow- 更好的 Python 日期时间操作类库。 <br>
Chronyk – Python 3 的类库,用于解析手写格式的时间和日期。 <br>
dateutil – Python datetime 模块的扩展。 <br>
delorean- 解决 Python 中有关日期处理的棘手问题的库。 <br>
moment – 一个用来处理时间和日期的Python库。灵感来自于Moment.<a href="http://lib.csdn.net/base/javascript" class="replace_word" title="JavaScript知识库" target="_blank" style="color:#df3434; font-weight:bold;">js</a>。 <br>
PyTime – 一个简单易用的Python模块,用于通过字符串来操作日期/时间。 <br>
pytz – 现代以及历史版本的世界时区定义。将时区<a href="http://lib.csdn.net/base/mysql" class="replace_word" title="MySQL知识库" target="_blank" style="color:#df3434; font-weight:bold;">数据库</a>引入Python。 <br>
when.py – 提供用户友好的函数来帮助用户进行常用的日期和时间操作。 <br>
文本处理</p>

<p>用于解析和操作文本的库。</p>

<p>通用 <br>
chardet – 字符编码检测器,兼容 Python2 和 Python3。 <br>
difflib – (Python 标准库)帮助我们进行差异化比较。 <br>
ftfy – 让Unicode文本更完整更连贯。 <br>
fuzzywuzzy – 模糊字符串匹配。 <br>
Levenshtein – 快速计算编辑距离以及字符串的相似度。 <br>
pangu.py – 在中日韩语字符和数字字母之间添加空格。 <br>
pyfiglet -figlet 的 Python实现。 <br>
shortuuid – 一个生成器库,用以生成简洁的,明白的,URL 安全的 UUID。 <br>
unidecode – Unicode 文本的 ASCII 转换形式 。 <br>
uniout – 打印可读的字符,而不是转义的字符串。 <br>
xpinyin – 一个用于把汉字转换为拼音的库。 <br>
Slug化 <br>
awesome-slugify – 一个 Python slug 化库,可以保持 Unicode。 <br>
python-slugify – Python slug 化库,可以把 unicode 转化为 ASCII。 <br>
unicode-slugify – 一个 slug 工具,可以生成 unicode slugs ,需要依赖 Django 。 <br>
解析器 <br>
phonenumbers – 解析,格式化,储存,验证电话号码。 <br>
PLY – lex 和 yacc 解析工具的 Python 实现。 <br>
Pygments – 通用语法高亮工具。 <br>
pyparsing – 生成通用解析器的框架。 <br>
python-nameparser – 把一个人名分解为几个独立的部分。 <br>
python-user-agents – 浏览器 user agent 解析器。 <br>
sqlparse – 一个无验证的 SQL 解析器。 <br>
特殊文本格式处理</p>

<p>一些用来解析和操作特殊文本格式的库。</p>

<p>通用 <br>
tablib – 一个用来处理中表格数据的模块。 <br>
Office <br>
Marmir – 把输入的Python <a href="http://lib.csdn.net/base/datastructure" class="replace_word" title="算法与数据结构知识库" target="_blank" style="color:#df3434; font-weight:bold;">数据结构</a>转换为电子表单。 <br>
openpyxl – 一个用来读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的库。 <br>
python-docx – 读取,查询以及修改 Microsoft Word 2007/2008 docx 文件。 <br>
unoconv – 在 LibreOffice/OpenOffice 支持的任意文件格式之间进行转换。 <br>
XlsxWriter – 一个用于创建 Excel .xlsx 文件的 Python 模块。 <br>
xlwings – 一个使得在 Excel 中方便调用 Python 的库(反之亦然),基于 BSD 协议。 <br>
xlwt / xlrd – 读写 Excel 文件的数据和格式信息。 <br>
relatorio – 模板化OpenDocument 文件。 <br>
PDF <br>
PDFMiner – 一个用于从PDF文档中抽取信息的工具。 <br>
PyPDF2 – 一个可以分割,合并和转换 PDF 页面的库。 <br>
ReportLab – 快速创建富文本 PDF 文档。 <br>
Markdown <br>
Mistune – 快速并且功能齐全的纯 Python 实现的 Markdown 解析器。 <br>
Python-Markdown – John Gruber’s Markdown 的 Python 版实现。 <br>
YAML <br>
PyYAML – Python 版本的 YAML 解析器。 <br>
CSV <br>
csvkit – 用于转换和操作 CSV 的工具。 <br>
Archive <br>
unp – 一个用来方便解包归档文件的命令行工具。 <br>
<a href="http://lib.csdn.net/base/nlp" class="replace_word" title="自然语言理解和处理知识库" target="_blank" style="color:#df3434; font-weight:bold;">自然语言</a>处理</p>

<p>用来处理人类语言的库。</p>

<p>NLTK – 一个先进的平台,用以构建处理人类语言数据的 Python 程序。 <br>
jieba – 中文分词工具。 <br>
langid.py – 独立的语言识别系统。 <br>
Pattern – Python 网络信息挖掘模块。 <br>
SnowNLP – 一个用来处理中文文本的库。 <br>
TextBlob – 为进行普通自然语言处理任务提供一致的 API。 <br>
TextGrocery – 一简单高效的短文本分类工具,基于 LibLinear 和 Jieba。 <br>
文档</p>

<p>用以生成项目文档的库。</p>

<p>Sphinx – Python 文档生成器。 <br>
awesome-sphinxdoc <br>
MkDocs – 对 Markdown 友好的文档生成器。 <br>
pdoc – 一个可以替换Epydoc 的库,可以自动生成 Python 库的 API 文档。 <br>
Pycco – 文学编程(literate-programming)风格的文档生成器。 <br>
配置</p>

<p>用来保存和解析配置的库。</p>

<p>config – logging 模块作者写的分级配置模块。 <br>
ConfigObj – INI 文件解析器,带验证功能。 <br>
ConfigParser – (Python 标准库) INI 文件解析器。 <br>
profig – 通过多种格式进行配置,具有数值转换功能。 <br>
python-decouple – 将设置和代码完全隔离。 <br>
命令行工具</p>

<p>用于创建命令行程序的库。</p>

<p>命令行程序开发 <br>
cement – Python 的命令行程序框架。 <br>
click – 一个通过组合的方式来创建精美命令行界面的包。 <br>
cliff – 一个用于创建命令行程序的框架,可以创建具有多层命令的命令行程序。 <br>
clint – Python 命令行程序工具。 <br>
colorama – 跨平台彩色终端文本。 <br>
docopt – Python 风格的命令行参数解析器。 <br>
Gooey – 一条命令,将命令行程序变成一个 GUI 程序。 <br>
python-prompt-toolkit – 一个用于构建强大的交互式命令行程序的库。 <br>
生产力工具 <br>
aws-cli – Amazon Web Services 的通用命令行界面。 <br>
bashplotlib – 在终端中进行基本绘图。 <br>
caniusepython3 – 判断是哪个项目妨碍你你移植到 Python 3。 <br>
cookiecutter – 从 cookiecutters(项目模板)创建项目的一个命令行工具。 <br>
doitlive – 一个用来在终端中进行现场演示的工具。 <br>
howdoi – 通过命令行获取即时的编程问题解答。 <br>
httpie – 一个命令行HTTP 客户端,cURL 的替代品,易用性更好。 <br>
PathPicker – 从bash输出中选出文件。 <br>
percol – 向UNIX shell 传统管道概念中加入交互式选择功能。 <br>
SAWS – 一个加强版的 AWS 命令行。 <br>
thefuck – 修正你之前的命令行指令。 <br>
mycli – 一个 <a href="http://lib.csdn.net/base/mysql" class="replace_word" title="MySQL知识库" target="_blank" style="color:#df3434; font-weight:bold;">MySQL</a> 命令行客户端,具有自动补全和语法高亮功能。 <br>
pgcli – Postgres 命令行工具,具有自动补全和语法高亮功能。 <br>
下载器</p>

<p>用来进行下载的库.</p>

<p>s3cmd – 一个用来管理Amazon S3 和 CloudFront 的命令行工具。 <br>
s4cmd – 超级 S3 命令行工具,性能更加强劲。 <br>
you-get – 一个 YouTube/Youku/Niconico 视频下载器,使用 Python3 编写。 <br>
youtube-dl – 一个小巧的命令行程序,用来下载 YouTube 视频。 <br>
图像处理</p>

<p>用来操作图像的库.</p>

<p>pillow – Pillow 是一个更加易用版的 PIL。 <br>
hmap – 图像直方图映射。 <br>
imgSeek – 一个使用视觉相似性搜索一组图片集合的项目。 <br>
nude.py – 裸体检测。 <br>
pyBarcode – 不借助 PIL 库在 Python 程序中生成条形码。 <br>
pygram – 类似 Instagram 的图像滤镜。 <br>
python-qrcode – 一个纯 Python 实现的二维码生成器。 <br>
Quads – 基于四叉树的计算机艺术。 <br>
scikit-image – 一个用于(科学)图像处理的 Python 库。 <br>
thumbor – 一个小型图像服务,具有剪裁,尺寸重设和翻转功能。 <br>
wand – MagickWand的Python 绑定。MagickWand 是 ImageMagick的 C API 。 <br>
OCR</p>

<p>光学字符识别库。</p>

<p>pyocr – Tesseract 和 Cuneiform 的一个封装(wrapper)。 <br>
pytesseract – Google Tesseract OCR 的另一个封装(wrapper)。 <br>
python-tesseract – Google Tesseract OCR 的一个包装类。 <br>
音频</p>

<p>用来操作音频的库</p>

<p>audiolazy -Python 的数字信号处理包。 <br>
audioread – 交叉库 (GStreamer + Core Audio + MAD + FFmpeg) 音频解码。 <br>
beets – 一个音乐库管理工具及 MusicBrainz 标签添加工具 <br>
dejavu – 音频指纹提取和识别 <br>
django-elastic-transcoder – Django + Amazon Elastic Transcoder。 <br>
eyeD3 – 一个用来操作音频文件的工具,具体来讲就是包含 ID3 元信息的 MP3 文件。 <br>
id3reader – 一个用来读取 MP3 元数据的 Python 模块。 <br>
m3u8 – 一个用来解析 m3u8 文件的模块。 <br>
mutagen – 一个用来处理音频元数据的 Python 模块。 <br>
pydub – 通过简单、简洁的高层接口来操作音频文件。 <br>
pyechonest – Echo Nest API 的 Python 客户端 <br>
talkbox – 一个用来处理演讲/信号的 Python 库 <br>
TimeSide – 开源 web 音频处理框架。 <br>
tinytag – 一个用来读取MP3, OGG, FLAC 以及 Wave 文件音乐元数据的库。 <br>
mingus – 一个高级音乐理论和曲谱包,支持 MIDI 文件和回放功能。 <br>
视频</p>

<p>用来操作视频和GIF的库。</p>

<p>moviepy – 一个用来进行基于脚本的视频编辑模块,适用于多种格式,包括动图 GIFs。 <br>
scikit-video – SciPy 视频处理常用程序。 <br>
地理位置</p>

<p>地理编码地址以及用来处理经纬度的库。</p>

<p>GeoDjango – 世界级地理图形 web 框架。 <br>
GeoIP – MaxMind GeoIP Legacy 数据库的 Python API。 <br>
geojson – GeoJSON 的 Python 绑定及工具。 <br>
geopy – Python 地址编码工具箱。 <br>
pygeoip – 纯 Python GeoIP API。 <br>
django-countries – 一个 Django 应用程序,提供用于表格的国家选择功能,国旗图标静态文件以及模型中的国家字段。 <br>
HTTP</p>

<p>使用HTTP的库。</p>

<p>requests – 人性化的HTTP请求库。 <br>
grequests – requests 库 + gevent ,用于异步 HTTP 请求. <br>
httplib2 – 全面的 HTTP 客户端库。 <br>
treq – 类似 requests 的Python API 构建于 Twisted HTTP 客户端之上。 <br>
urllib3 – 一个具有线程安全连接池,支持文件 post,清晰友好的 HTTP 库。 <br>
数据库</p>

<p>Python实现的数据库。</p>

<p>pickleDB – 一个简单,轻量级键值储存数据库。 <br>
PipelineDB – 流式 SQL 数据库。 <br>
TinyDB – 一个微型的,面向文档型数据库。 <br>
ZODB – 一个 Python 原生对象数据库。一个键值和对象图数据库。 <br>
数据库驱动</p>

<p>用来连接和操作数据库的库。</p>

<p><a href="http://lib.csdn.net/base/mysql" class="replace_word" title="MySQL知识库" target="_blank" style="color:#df3434; font-weight:bold;">mysql</a> – awesome-mysql系列 <br>
mysql-python – Python 的 MySQL 数据库连接器。 <br>
mysqlclient – mysql-python 分支,支持 Python 3。 <br>
oursql – 一个更好的 MySQL 连接器,支持原生预编译指令和 BLOBs. <br>
PyMySQL – 纯 Python MySQL 驱动,兼容 mysql-python。 <br>
PostgreSQL <br>
psycopg2 – Python 中最流行的 PostgreSQL 适配器。 <br>
queries – psycopg2 库的封装,用来和 PostgreSQL 进行交互。 <br>
txpostgres – 基于 Twisted 的异步 PostgreSQL 驱动。 <br>
其他关系型数据库 <br>
apsw – 另一个 Python SQLite封装。 <br>
dataset – 在数据库中存储Python字典 – 可以协同SQLite,MySQL,和 PostgreSQL工作。 <br>
pymssql- 一个简单的Microsoft SQL Server数据库接口。 <br>
NoSQL 数据库 <br>
cassandra-python-driver – Cassandra 的 Python 驱动。 <br>
HappyBase – 一个为 Apache <a href="http://lib.csdn.net/base/hbase" class="replace_word" title="Hbase知识库" target="_blank" style="color:#df3434; font-weight:bold;">Hbase</a> 设计的,对开发者友好的库。 <br>
Plyvel – 一个快速且功能丰富的 LevelDB 的 Python 接口。 <br>
py2neo – Neo4j restful 接口的Python 封装客户端。 <br>
pycassa – Cassandra 的 Python Thrift 驱动。 <br>
PyMongo – <a href="http://lib.csdn.net/base/mongodb" class="replace_word" title="MongoDB知识库" target="_blank" style="color:#df3434; font-weight:bold;">MongoDB</a> 的官方 Python 客户端。 <br>
<a href="http://lib.csdn.net/base/redis" class="replace_word" title="Redis知识库" target="_blank" style="color:#df3434; font-weight:bold;">Redis</a>-py – <a href="http://lib.csdn.net/base/redis" class="replace_word" title="Redis知识库" target="_blank" style="color:#df3434; font-weight:bold;">redis</a> 的 Python 客户端。 <br>
telephus – 基于 Twisted 的 Cassandra 客户端。 <br>
txRedis – 基于 Twisted 的 Redis 客户端。 <br>
ORM</p>

<p>实现对象关系映射或数据映射技术的库。</p>

<p>关系型数据库 <br>
Django Models – Django 的一部分。 <br>
SQLAlchemy – Python SQL 工具以及对象关系映射工具。 <br>
awesome-sqlalchemy系列 <br>
Peewee – 一个小巧,富有表达力的 ORM。 <br>
PonyORM – 提供面向生成器的 SQL 接口的 ORM。 <br>
python-sql – 编写 Python 风格的 SQL 查询。 <br>
NoSQL 数据库 <br>
django-<a href="http://lib.csdn.net/base/mongodb" class="replace_word" title="MongoDB知识库" target="_blank" style="color:#df3434; font-weight:bold;">mongodb</a>-engine – Django MongoDB 后端。 <br>
PynamoDB – Amazon DynamoDB 的一个 Python 风格接口。 <br>
flywheel – Amazon DynamoDB 的对象映射工具。 <br>
MongoEngine – 一个Python 对象文档映射工具,用于 MongoDB。 <br>
hot-redis – 为 Redis 提供 Python 丰富的数据类型。 <br>
redisco – 一个 Python 库,提供可以持续存在在 Redis 中的简单模型和容器。 <br>
其他 <br>
butterdb – Google Drive 电子表格的 Python ORM。 <br>
Web 框架</p>

<p>全栈 web 框架。</p>

<p>Django – Python 界最流行的 web 框架。 <br>
awesome-django系列 <br>
Flask – 一个 Python 微型框架。 <br>
<a href="https://github.com/humiaozuzu/awesome-flask" target="_blank">https://github.com/humiaozuzu/awesome-flask</a>系列 <br>
Pyramid – 一个小巧,快速,接地气的开源Python web 框架。 <br>
awesome-pyramid系列 <br>
Bottle – 一个快速小巧,轻量级的 WSGI 微型 web 框架。 <br>
CherryPy – 一个极简的 Python web 框架,服从 HTTP/1.1 协议且具有WSGI 线程池。 <br>
TurboGears – 一个可以扩展为全栈解决方案的微型框架。 <br>
web.py – 一个 Python 的 web 框架,既简单,又强大。 <br>
web2py – 一个全栈 web 框架和平台,专注于简单易用。 <br>
Tornado – 一个web 框架和异步网络库。 <br>
权限</p>

<p>允许或拒绝用户访问数据或功能的库。</p>

<p>Carteblanche – Module to align code with thoughts of users and designers. Also magically handles navigation and permissions. <br>
django-guardian – Django 1.2+ 实现了单个对象权限。 <br>
django-rules – 一个小巧但是强大的应用,提供对象级别的权限管理,且不需要使用数据库。 <br>
CMS</p>

<p>内容管理系统</p>

<p>django-cms – 一个开源的,企业级 CMS,基于 Django。 <br>
djedi-cms – 一个轻量级但却非常强大的 Django CMS ,考虑到了插件,内联编辑以及性能。 <br>
FeinCMS – 基于 Django 构建的最先进的内容管理系统之一。 <br>
Kotti – 一个高级的,Python 范的 web 应用框架,基于 Pyramid 构建。 <br>
Mezzanine – 一个强大的,持续的,灵活的内容管理平台。 <br>
Opps – 一个为杂志,报纸网站以及大流量门户网站设计的 CMS 平台,基于 Django。 <br>
Plone – 一个构建于开源应用服务器 Zope 之上的 CMS。 <br>
Quokka – 灵活,可扩展的小型 CMS,基于 Flask 和 MongoDB。 <br>
Wagtail – 一个 Django 内容管理系统。 <br>
Widgy – 最新的 CMS 框架,基于 Django。 <br>
电子商务</p>

<p>用于电子商务以及支付的框架和库。</p>

<p>django-oscar – 一个用于 Django 的开源的电子商务框架。 <br>
django-shop – 一个基于 Django 的店铺系统。 <br>
Cartridge – 一个基于 Mezzanine 构建的购物车应用。 <br>
shoop – 一个基于 Django 的开源电子商务平台。 <br>
alipay – 非官方的 Python 支付宝 API。 <br>
merchant – 一个可以接收来自多种支付平台支付的 Django 应用。 <br>
money – 货币类库with optional CLDR-backed locale-aware formatting and an extensible currency exchange solution. <br>
python-currencies – 显示货币格式以及它的数值。 <br>
RESTful API</p>

<p>用来开发RESTful APIs的库</p>

<p>Django <br>
django-rest-framework – 一个强大灵活的工具,用来构建 web API。 <br>
django-tastypie – 为Django 应用开发API。 <br>
django-formapi – 为 Django 的表单验证,创建 JSON APIs 。 <br>
Flask <br>
flask-api – 为 flask 开发的,可浏览 Web APIs 。 <br>
flask-restful – 为 flask 快速创建REST APIs 。 <br>
flask-restless – 为 SQLAlchemy 定义的数据库模型创建 RESTful APIs 。 <br>
flask-api-utils – 为 Flask 处理 API 表示和验证。 <br>
eve – REST API 框架,由 Flask, MongoDB 等驱动。 <br>
Pyramid <br>
cornice – 一个Pyramid 的 REST 框架 。 <br>
与框架无关的 <br>
falcon – 一个用来建立云 API 和 web app 后端的噶性能框架。 <br>
sandman – 为现存的数据库驱动系统自动创建 REST APIs 。 <br>
restless – 框架无关的 REST 框架 ,基于从 Tastypie 学到的知识。 <br>
ripozo – 快速创建 REST/HATEOAS/Hypermedia APIs。 <br>
验证</p>

<p>实现验证方案的库。</p>

<p>OAuth <br>
Authomatic – 简单但是强大的框架,身份验证/授权客户端。 <br>
django-allauth – Django 的验证应用。 <br>
django-oauth-toolkit – 为 Django 用户准备的 OAuth2。 <br>
django-oauth2-provider – 为 Django 应用提供 OAuth2 接入。 <br>
Flask-OAuthlib – OAuth 1.0/a, 2.0 客户端实现,供 Flask 使用。 <br>
OAuthLib – 一个 OAuth 请求-签名逻辑通用、 完整的实现。 <br>
python-oauth2 – 一个完全测试的抽象接口。用来创建 OAuth 客户端和服务端。 <br>
python-social-auth – 一个设置简单的社会化验证方式。 <br>
rauth – OAuth 1.0/a, 2.0, 和 Ofly 的 Python 库。 <br>
sanction – 一个超级简单的OAuth2 客户端实现。 <br>
其他 <br>
jose – <a href="http://lib.csdn.net/base/javascript" class="replace_word" title="JavaScript知识库" target="_blank" style="color:#df3434; font-weight:bold;">JavaScript</a> 对象签名和加密草案的实现。 <br>
PyJWT – JSON Web 令牌草案 01。 <br>
python-jws – JSON Web 签名草案 02 的实现。 <br>
python-jwt – 一个用来生成和验证 JSON Web 令牌的模块。 <br>
模板引擎</p>

<p>模板生成和词法解析的库和工具。</p>

<p>Jinja2 – 一个现代的,对设计师友好的模板引擎。 <br>
Chameleon – 一个 HTML/XML 模板引擎。 模仿了 ZPT(Zope Page Templates), 进行了速度上的优化。 <br>
Genshi – Python 模板工具,用以生成 web 感知的结果。 <br>
Mako – Python 平台的超高速轻量级模板。 <br>
Queue</p>

<p>处理事件以及任务队列的库。</p>

<p>celery – 一个异步任务队列/作业队列,基于分布式消息传递。 <br>
huey – 小型多线程任务队列。 <br>
mrq – Mr. Queue -一个 Python 的分布式 worker 任务队列, 使用 Redis 和 gevent。 <br>
rq – 简单的 Python 作业队列。 <br>
simpleq – 一个简单的,可无限扩张的,基于亚马逊 SQS 的队列。 <br>
搜索</p>

<p>对数据进行索引和执行搜索查询的库和软件。</p>

<p>django-haystack – Django 模块化搜索。 <br>
elasticsearch-py – Elasticsearch 的官方底层 Python 客户端。 <br>
elasticsearch-dsl-py -Elasticsearch 的官方高级 Python 客户端。 <br>
solrpy – solr的 Python 客户端。 <br>
Whoosh – 一个快速的纯 Python <a href="http://lib.csdn.net/base/searchengine" class="replace_word" title="搜索引擎知识库" target="_blank" style="color:#df3434; font-weight:bold;">搜索引擎</a>库。 <br>
动态消息</p>

<p>用来创建用户活动的库。</p>

<p>django-activity-stream – 从你的站点行为中生成通用活动信息流。 <br>
Stream-Framework – 使用 Cassandra 和 Redis 创建动态消息和通知系统。 <br>
资源管理</p>

<p>管理、压缩、缩小网站资源的工具。</p>

<p>django-compressor – 将链接和内联的 <a href="http://lib.csdn.net/base/javascript" class="replace_word" title="JavaScript知识库" target="_blank" style="color:#df3434; font-weight:bold;">javascript</a> 或 CSS 压缩到一个单独的缓存文件中。 <br>
django-storages – 一个针对 Django 的自定义存储后端的工具集合。 <br>
fanstatic – 打包、优化,并且把静态文件依赖作为 Python 的包来提供。 <br>
File Conveyor – 一个后台驻留的程序,用来发现和同步文件到 CDNs, S3 和 FTP。 <br>
Flask-Assets – 帮你将 web 资源整合到你的 Flask app 中。 <br>
jinja-assets-compressor – 一个 Jinja 扩展,用来编译和压缩你的资源。 <br>
webassets – 为你的静态资源打包、优化和管理生成独一无二的缓存 URL。 <br>
缓存</p>

<p>缓存数据的库。</p>

<p>Beaker – 一个缓存和会话库,可以用在 web 应用和独立 Python脚本和应用上。 <br>
django-cache-machine – Django 模型的自动缓存和失效。 <br>
django-cacheops- 具有自动颗粒化事件驱动失效功能的 ORM。 <br>
django-viewlet – 渲染模板,同时具有额外的缓存控制功能。 <br>
dogpile.cache – dogpile.cache 是 Beaker 的下一代替代品,由同一作者开发。 <br>
HermesCache – Python 缓存库,具有基于标签的失效和 dogpile effect 保护功能。 <br>
johnny-cache – django应用缓存框架。 <br>
pylibmc – libmemcached 接口的 Python 封装。 <br>
电子邮件</p>

<p>用来发送和解析电子邮件的库。</p>

<p>django-celery-ses – 带有 AWS SES 和 Celery 的 Django email 后端。 <br>
envelopes – 供人类使用的电子邮件库。 <br>
flanker – 一个 email 地址和 Mime 解析库。 <br>
imbox – Python IMAP 库 <br>
inbox.py – Python SMTP 服务器。 <br>
inbox – 一个开源电子邮件工具箱。 <br>
lamson – Python 风格的 SMTP 应用服务器。 <br>
mailjet – Mailjet API 实现,用来提供批量发送邮件,统计等功能。 <br>
marrow.mailer – 高性能可扩展邮件分发框架。 <br>
modoboa – 一个邮件托管和管理平台,具有现代的、简约的 Web UI。 <br>
pyzmail – 创建,发送和解析电子邮件。 <br>
Talon – Mailgun 库,用来抽取信息和签名。 <br>
国际化</p>

<p>用来进行国际化的库。</p>

<p>Babel – 一个Python 的国际化库。 <br>
Korean – 一个韩语词态库。 <br>
URL处理</p>

<p>解析URLs的库</p>

<p>furl – 一个让处理 URL 更简单小型 Python 库。 <br>
purl – 一个简单的,不可变的URL类,具有简洁的 API 来进行询问和处理。 <br>
pyshorteners – 一个纯 Python URL 缩短库。 <br>
shorturl- 生成短小 URL 和类似 bit.ly 短链的Python 实现。 <br>
webargs – 一个解析 HTTP 请求参数的库,内置对流行 web 框架的支持,包括 Flask, Django, Bottle, Tornado和 Pyramid。 <br>
HTML处理</p>

<p>处理 HTML和XML的库。</p>

<p>BeautifulSoup – 以 Python 风格的方式来对 HTML 或 XML 进行迭代,搜索和修改。 <br>
bleach – 一个基于白名单的 HTML 清理和文本链接库。 <br>
cssutils – 一个 Python 的 CSS 库。 <br>
html5lib – 一个兼容标准的 HTML 文档和片段解析及序列化库。 <br>
lxml – 一个非常快速,简单易用,功能齐全的库,用来处理 HTML 和 XML。 <br>
MarkupSafe – 为Python 实现 XML/HTML/XHTML 标记安全字符串。 <br>
pyquery – 一个解析 HTML 的库,类似 <a href="http://lib.csdn.net/base/jquery" class="replace_word" title="jQuery知识库" target="_blank" style="color:#df3434; font-weight:bold;">jQuery</a>。 <br>
untangle – 将XML文档转换为Python对象,使其可以方便的访问。 <br>
xhtml2pdf – HTML/CSS 转 PDF 工具。 <br>
xmltodict – 像处理 JSON 一样处理 XML。 <br>
网络站点爬取</p>

<p>爬取网络站点的库</p>

<p>Scrapy – 一个快速高级的屏幕爬取及网页采集框架。 <br>
cola – 一个分布式爬虫框架。 <br>
Demiurge – 基于PyQuery 的爬虫微型框架。 <br>
feedparser – 通用 feed 解析器。 <br>
Grab – 站点爬取框架。 <br>
MechanicalSoup – 用于自动和网络站点交互的 Python 库。 <br>
portia – Scrapy 可视化爬取。 <br>
pyspider – 一个强大的爬虫系统。 <br>
RoboBrowser – 一个简单的,Python 风格的库,用来浏览网站,而不需要一个独立安装的浏览器。 <br>
网页内容提取</p>

<p>用于进行网页内容提取的库。</p>

<p>Haul – 一个可以扩展的图像爬取工具。 <br>
html2text – 将 HTML 转换为 Markdown 格式文本 <br>
lassie – 人性化的网页内容检索库。 <br>
micawber -一个小型网页内容提取库,用来从 URLs 提取富内容。 <br>
newspaper – 使用 Python 进行新闻提取,文章提取以及内容策展。 <br>
opengraph – 一个用来解析开放内容协议(Open Graph Protocol)的 Python模块。 <br>
python-goose – HTML内容/文章提取器。 <br>
python-readability- arc90 公司 readability 工具的 Python 高速端口 <br>
sanitize – 为杂乱的数据世界带来调理性。 <br>
sumy – 一个为文本文件和 HTML 页面进行自动摘要的模块。 <br>
textract – 从任何格式的文档中提取文本,Word,PowerPoint,PDFs 等等。 <br>
表单</p>

<p>进行表单操作的库。</p>

<p>Deform – Python HTML 表单生成库,受到了 formish 表单生成库的启发。 <br>
django-bootstrap3- 集成了 Bootstrap 3 的 Django。 <br>
django-crispy-forms – 一个 Django 应用,他可以让你以一种非常优雅且 DRY(Don’t repeat yourself) 的方式来创建美观的表单。 <br>
django-remote-forms- 一个平台独立的 Django 表单序列化工具。 <br>
WTForms – 一个灵活的表单验证和呈现库。 <br>
WTForms-JSON- 一个 WTForms 扩展,用来处理 JSON 数据。 <br>
数据验证</p>

<p>数据验证库。多用于表单验证。</p>

<p>Cerberus – A mappings-validator with a variety of rules, normalization-features and simple customization that uses a pythonic schema-definition. <br>
colander – 一个用于对从 XML, JSON,HTML 表单获取的数据或其他同样简单的序列化数据进行验证和反序列化的系统。 <br>
kmatch – 一种用于匹配/验证/筛选 Python 字典的语言。 <br>
schema -一个用于对 Python 数据结构进行验证的库。 <br>
Schematics – 数据结构验证。 <br>
valideer – 轻量级可扩展的数据验证和适配库。 <br>
voluptuous – 一个 Python 数据验证库。主要是为了验证传入 Python的 JSON,YAML 等数据。 <br>
反垃圾技术</p>

<p>帮助你和电子垃圾进行战斗的库。</p>

<p>django-simple-captcha – 一个简单、高度可定制的Django 应用,可以为任何Django表单添加验证码。 <br>
django-simple-spam-blocker- 一个用于Django的简单的电子垃圾屏蔽工具。 <br>
标记</p>

<p>用来进行标记的库。</p>

<p>django-taggit – 简单的 Django 标记工具。 <br>
管理面板</p>

<p>管理界面库。</p>

<p>Ajenti – 一个你的服务器值得拥有的管理面板。 <br>
django-suit – Django 管理界面的一个替代品 (仅对于非商业用途是免费的)。 <br>
django-xadmin – Django admin 的一个替代品,具有很多不错的功能。 <br>
flask-admin – 一个用于 Flask 的简单可扩展的管理界面框架。 <br>
flower – 一个对 Celery 集群进行实时监控和提供 web 管理界面的工具。 <br>
Grappelli – Django 管理界面的一个漂亮的皮肤。 <br>
Wooey – 一个 Django 应用,可以为 Python 脚本创建 web 用户界面。 <br>
静态站点生成器</p>

<p>静态站点生成器是一个软件,它把文本和模板作为输入,然后输出HTML文件。</p>

<p>Pelican – 使用 Markdown 或 ReST 来处理内容, Jinja 2 来制作主题。支持 DVCS, Disqus.。AGPL 许可。 <br>
Cactus – 为设计师设计的静态站点生成器。 <br>
Hyde – 基于 Jinja2 的静态站点生成器。 <br>
Nikola – 一个静态网站和博客生成器。 <br>
Tinkerer – Tinkerer 是一个博客引擎/静态站点生成器,由Sphinx驱动。 <br>
Lektor – 一个简单易用的静态 CMS 和博客引擎。 <br>
进程</p>

<p><a href="http://lib.csdn.net/base/operatingsystem" class="replace_word" title="操作系统知识库" target="_blank" style="color:#df3434; font-weight:bold;">操作系统</a>进程启动及通信库。</p>

<p>envoy – 比 Python subprocess 模块更人性化。 <br>
sarge – 另一 种 subprocess 模块的封装。 <br>
sh – 一个完备的 subprocess 替代库。 <br>
并发和并行</p>

<p>用以进行并发和并行操作的库。</p>

<p>multiprocessing – (Python 标准库) 基于进程的“线程”接口。 <br>
threading – (Python 标准库)更高层的线程接口。 <br>
eventlet – 支持 WSGI 的异步框架。 <br>
gevent – 一个基于协程的 Python 网络库,使用greenlet。 <br>
Tomorrow -用于产生异步代码的神奇的装饰器语法实现。 <br>
网络</p>

<p>用于网络编程的库。</p>

<p>asyncio – (Python 标准库) 异步 I/O, 事件循环, 协程以及任务。 <br>
Twisted – 一个事件驱动的网络引擎。 <br>
pulsar – 事件驱动的并发框架。 <br>
diesel – 基于Greenlet 的事件 I/O 框架。 <br>
pyzmq – 一个 ZeroMQ 消息库的 Python 封装。 <br>
txZMQ – 基于 Twisted 的 ZeroMQ 消息库的 Python 封装。 <br>
WebSocket</p>

<p>帮助使用WebSocket的库。</p>

<p>AutobahnPython – 给 Python 、使用的 WebSocket & WAMP 基于 Twisted 和 asyncio。 <br>
Crossbar – 开源统一应用路由(Websocket & WAMP for Python on Autobahn). <br>
django-socketio – 给 Django 用的 WebSockets。 <br>
WebSocket-for-Python – 为Python2/3 以及 PyPy 编写的 WebSocket 客户端和服务器库。 <br>
WSGI 服务器</p>

<p>兼容 WSGI 的 web 服务器</p>

<p>gunicorn – Pre-forked, 部分是由 C 语言编写的。 <br>
uwsgi – uwsgi 项目的目的是开发一组全栈工具,用来建立托管服务, 由 C 语言编写。 <br>
bjoern – 异步,非常快速,由 C 语言编写。 <br>
fapws3 – 异步 (仅对于网络端),由 C 语言编写。 <br>
meinheld – 异步,部分是由 C 语言编写的。 <br>
netius – 异步,非常快速。 <br>
paste – 多线程,稳定,久经考验。 <br>
rocket – 多线程。 <br>
waitress – 多线程, 是它驱动着 Pyramid 框架。 <br>
Werkzeug – 一个 WSGI 工具库,驱动着 Flask ,而且可以很方便大嵌入到你的项目中去。 <br>
RPC 服务器</p>

<p>兼容 RPC 的服务器。</p>

<p>SimpleJSONRPCServer – 这个库是 JSON-RPC 规范的一个实现。 <br>
SimpleXMLRPCServer – (Python 标准库) 简单的 XML-RPC 服务器实现,单线程。 <br>
zeroRPC – zerorpc 是一个灵活的 RPC 实现,基于 ZeroMQ 和 MessagePack。 <br>
密码学</p>

<p>cryptography – 这个软件包意在提供密码学基本内容和方法提供给 Python 开发者。 <br>
hashids – 在 Python 中实现 hashids 。 <br>
Paramiko – SSHv2 协议的 Python (2.6+, 3.3+) ,提供客户端和服务端的功能。 <br>
Passlib – 安全密码存储/哈希库, <br>
PyCrypto – Python 密码学工具箱。 <br>
PyNacl – 网络和密码学(NaCl) 库的 Python 绑定。 <br>
图形用户界面</p>

<p>用来创建图形用户界面程序的库。</p>

<p>curses – 内建的 ncurses 封装,用来创建终端图形用户界面。 <br>
enaml – 使用类似 QML 的Declaratic语法来创建美观的用户界面。 <br>
kivy – 一个用来创建自然用户交互(NUI)应用程序的库,可以运行在 Windows, <a href="http://lib.csdn.net/base/linux" class="replace_word" title="Linux知识库" target="_blank" style="color:#df3434; font-weight:bold;">linux</a>, Mac OS X, <a href="http://lib.csdn.net/base/android" class="replace_word" title="Android知识库" target="_blank" style="color:#df3434; font-weight:bold;">Android</a> 以及 <a href="http://lib.csdn.net/base/ios" class="replace_word" title="iOS知识库" target="_blank" style="color:#df3434; font-weight:bold;">iOS</a>平台上。 <br>
pyglet – 一个Python 的跨平台窗口及多媒体库。 <br>
PyQt – 跨平台用户界面框架 Qt 的 Python 绑定 ,支持Qt v4 和 Qt v5。 <br>
PySide – P跨平台用户界面框架 Qt 的 Python 绑定 ,支持Qt v4。 <br>
Tkinter – Tkinter 是 Python GUI 的一个事实标准库。 <br>
Toga – 一个 Python 原生的, 操作系统原生的 GUI 工具包。 <br>
urwid – 一个用来创建终端 GUI 应用的库,支持组件,事件和丰富的色彩等。 <br>
wxPython – wxPython 是 wxWidgets C++ 类库和 Python 语言混合的产物。 <br>
PyGObject – GLib/GObject/GIO/GTK+ (GTK+3) 的 Python 绑定 <br>
Flexx – Flexx 是一个纯 Python 语言编写的用来创建 GUI 程序的工具集,它使用 web 技术进行界面的展示。 <br>
游戏开发</p>

<p>超赞的游戏开发库。</p>

<p>Cocos2d – cocos2d 是一个用来开发 2D 游戏, 示例和其他图形/交互应用的框架。基于 pyglet。 <br>
Panda3D – 由迪士尼开发的 3D 游戏引擎,并由卡内基梅陇娱乐技术中心负责维护。使用C++编写, 针对 Python 进行了完全的封装。 <br>
Pygame – Pygame 是一组 Python 模块,用来编写游戏。 <br>
PyOgre – Ogre 3D 渲染引擎的 Python 绑定,可以用来开发游戏和仿真程序等任何 3D 应用。 <br>
PyOpenGL – OpenGL 的 Python 绑定及其相关 APIs。 <br>
PySDL2 – SDL2 库的封装,基于 ctypes。 <br>
RenPy – 一个视觉小说(visual novel)引擎。 <br>
日志</p>

<p>用来生成和操作日志的库。</p>

<p>logging – (Python 标准库) 为 Python 提供日志功能。 <br>
logbook – Logging 库的替代品。 <br>
Eliot – 为复杂的和分布式系统创建日志。 <br>
Raven – Sentry的 Python 客户端。 <br>
Sentry – 实时记录和收集日志的服务器。 <br>
测试</p>

<p>进行代码库测试和生成测试数据的库。</p>

<p>测试框架 <br>
unittest – (Python 标准库) 单元测试框架。 <br>
nose – nose 扩展了 unittest 的功能。 <br>
contexts – 一个 Python 3.3+ 的 BDD 框架。受到C# – Machine.Specifications的启发。 <br>
hypothesis – Hypothesis 是一个基于先进的 Quickcheck 风格特性的测试库。 <br>
mamba – Python 的终极测试工具, 拥护BDD。 <br>
PyAutoGUI – PyAutoGUI 是一个人性化的跨平台 GUI 自动测试模块。 <br>
pyshould- Should 风格的断言,基于 PyHamcrest。 <br>
pytest- 一个成熟的全功能 Python 测试工具。 <br>
green- 干净,多彩的测试工具。 <br>
pyvows- BDD 风格的测试工具,受Vows.js的启发。 <br>
Robot Framework – 一个通用的自动化测试框架。 <br>
Web 测试 <br>
Selenium – Selenium WebDriver 的 Python 绑定。 <br>
locust – 使用 Python 编写的,可扩展的用户加载测试工具。 <br>
sixpack – 一个和语言无关的 A/B 测试框架。 <br>
splinter – 开源的 web 应用测试工具。 <br>
Mock测试 <br>
mock – (Python 标准库) 一个用于伪造测试的库。 <br>
doublex – Python 的一个功能强大的 doubles 测试框架。 <br>
freezegun – 通过伪造日期模块来生成不同的时间。 <br>
httmock – 针对 Python 2.6+ 和 3.2+ 生成 伪造请求的库。 <br>
httpretty – Python 的 HTTP 请求 mock 工具。 <br>
responses – 伪造 Python 中的 requests 库的一个通用库。 <br>
VCR.py – 在你的测试中记录和重放 HTTP 交互。 <br>
对象工厂 <br>
factoryboy – 一个 Python 用的测试固件 (test fixtures) 替代库。 <br>
mixer – 另外一个测试固件 (test fixtures) 替代库,支持 Django, Flask, SQLAlchemy, Peewee 等。 <br>
modelmommy – 为 Django 测试创建随机固件 <br>
代码覆盖率 <br>
coverage – 代码覆盖率测量。 <br>
伪数据 <br>
faker – 一个 Python 库,用来生成伪数据。 <br>
fake2db – 伪数据库生成器。 <br>
radar – 生成随机的日期/时间。 <br>
错误处理 <br>
FuckIt.py – FuckIt.py 使用最先进的技术来保证你的 Python 代码无论对错都能继续运行。 <br>
代码分析和Lint工具</p>

<p>进行代码分析,解析和操作代码库的库和工具。</p>

<p>代码分析 <br>
code2flow – 把你的 Python 和 JavaScript 代码转换为流程图。 <br>
pycallgraph -这个库可以把你的Python 应用的流程(调用图)进行可视化。 <br>
pysonar2 – Python 类型推断和检索工具。 <br>
Lint工具 <br>
Flake8 – 模块化源码检查工具: pep8, pyflakes 以及 co。 <br>
Pylint – 一个完全可定制的源码分析器。 <br>
pylama – Python 和 JavaScript 的代码审查工具。 <br>
调试工具</p>

<p>用来进行代码调试的库。</p>

<p>调试器 <br>
ipdb – IPython 启用的 pdb。 <br>
pudb – 全屏,基于控制台的 Python 调试器。 <br>
pyringe – 可以在 Python 进程中附加和注入代码的调试器。 <br>
wdb – 一个奇异的 web 调试器,通过 WebSockets 工作。 <br>
winpdb – 一个具有图形用户界面的 Python 调试器,可以进行远程调试,基于 rpdb2。 <br>
django-debug-toolbar – 为 Django 显示各种调试信息。 <br>
django-devserver – 一个 Django 运行服务器的替代品。 <br>
flask-debugtoolbar – django-debug-toolbar 的 flask 版。 <br>
性能分析器 <br>
lineprofiler – 逐行性能分析。 <br>
memoryprofiler – 监控 Python 代码的内存使用。 <br>
profiling – 一个交互式 Python 性能分析工具。 <br>
其他 <br>
pyelftools – 解析和分析 ELF 文件以及 DWARF 调试信息。 <br>
python-statsd – statsd 服务器的 Python 客户端。 <br>
科学技术和数据分析</p>

<p>用来进行科学计算和数据分析的库。</p>

<p>astropy – 一个天文学 Python 库。 <br>
bcbio-nextgen – 这个工具箱为全自动高通量测序分析提供符合最佳实践的处理流程。 <br>
bccb – 生物分析相关代码集合 <br>
Biopython – Biopython 是一组可以免费使用的用来进行生物计算的工具。 <br>
blaze – NumPy 和 Pandas 的<a href="http://lib.csdn.net/base/hadoop" class="replace_word" title="Hadoop知识库" target="_blank" style="color:#df3434; font-weight:bold;">大数据</a>接口。 <br>
cclib – 一个用来解析和解释计算化学软件包输出结果的库。 <br>
NetworkX – 一个为复杂网络设计的高性能软件。 <br>
Neupy – 执行和测试各种不同的人工神经网络<a href="http://lib.csdn.net/base/datastructure" class="replace_word" title="算法与数据结构知识库" target="_blank" style="color:#df3434; font-weight:bold;">算法</a>。 <br>
Numba – Python JIT (just in time) 编译器,针对科学用的 Python ,由Cython 和 NumPy 的开发者开发。 <br>
NumPy – 使用 Python 进行科学计算的基础包。 <br>
Open Babel – 一个化学工具箱,用来描述多种化学数据。 <br>
Open Mining – 使用 Python 挖掘商业情报 (BI) (Pandas web 接口)。 <br>
orange – 通过可视化编程或 Python 脚本进行数据挖掘,数据可视化,分析和<a href="http://lib.csdn.net/base/machinelearning" class="replace_word" title="机器学习知识库" target="_blank" style="color:#df3434; font-weight:bold;">机器学习</a>。 <br>
Pandas – 提供高性能,易用的数据结构和数据分析工具。 <br>
PyDy – PyDy 是 Python Dynamics 的缩写,用来为动力学运动建模工作流程提供帮助, 基于 NumPy, SciPy, IPython 和 matplotlib。 <br>
PyMC – 马尔科夫链蒙特卡洛采样工具。 <br>
RDKit – 化学信息学和机器学习软件。 <br>
SciPy – 由一些基于 Python ,用于数学,科学和工程的开源软件构成的生态系统。 <br>
statsmodels – 统计建模和计量经济学。 <br>
SymPy – 一个用于符号数学的 Python 库。 <br>
zipline – 一个 Python 算法交易库。 <br>
数据可视化</p>

<p>进行数据可视化的库。 参见: awesome-javascript。</p>

<p>matplotlib – 一个 Python 2D 绘图库。 <br>
bokeh – 用 Python 进行交互式 web 绘图。 <br>
ggplot – ggplot2 给 R 提供的 API 的 Python 版本。 <br>
plotly – 协同 Python 和 matplotlib 工作的 web 绘图库。 <br>
pygal – 一个 Python SVG 图表创建工具。 <br>
pygraphviz – Graphviz 的 Python 接口。 <br>
PyQtGraph – 交互式实时2D/3D/图像绘制及科学/工程学组件。 <br>
SnakeViz – 一个基于浏览器的 Python’s cProfile 模块输出结果查看工具。 <br>
vincent – 把 Python 转换为 Vega 语法的转换工具。 <br>
VisPy – 基于 OpenGL 的高性能科学可视化工具。 <br>
<a href="http://lib.csdn.net/base/computervison" class="replace_word" title="计算机视觉知识库" target="_blank" style="color:#df3434; font-weight:bold;">计算机视觉</a></p>

<p>计算机视觉库。</p>

<p><a href="http://lib.csdn.net/base/opencv" class="replace_word" title="OpenCV知识库" target="_blank" style="color:#df3434; font-weight:bold;">OpenCV</a> – 开源计算机视觉库。 <br>
SimpleCV – 一个用来创建计算机视觉应用的开源框架。 <br>
机器学习</p>

<p>机器学习库。 参见: awesome-machine-learning.</p>

<p>Crab – 灵活、快速的推荐引擎。 <br>
gensim – 人性化的话题建模库。 <br>
hebel – GPU 加速的<a href="http://lib.csdn.net/base/deeplearning" class="replace_word" title="深度学习知识库" target="_blank" style="color:#df3434; font-weight:bold;">深度学习</a>库。 <br>
NuPIC – <a href="http://lib.csdn.net/base/aiplanning" class="replace_word" title="人工智能规划与决策知识库" target="_blank" style="color:#df3434; font-weight:bold;">智能</a>计算 Numenta 平台。 <br>
pattern – Python 网络挖掘模块。 <br>
PyBrain – 另一个 Python 机器学习库。 <br>
Pylearn2 – 一个基于 Theano 的机器学习库。 <br>
python-recsys – 一个用来实现推荐系统的 Python 库。 <br>
scikit-learn – 基于 SciPy 构建的机器学习 Python 模块。 <br>
pydeep – Python 深度学习库。 <br>
vowpalporpoise – 轻量级 Vowpal Wabbit 的 Python 封装。 <br>
skflow – 一个 TensorFlow 的简化接口(模仿 scikit-learn)。 <br>
MapReduce</p>

<p>MapReduce 框架和库。</p>

<p>dpark – <a href="http://lib.csdn.net/base/spark" class="replace_word" title="Apache Spark知识库" target="_blank" style="color:#df3434; font-weight:bold;">Spark</a> 的 Python 克隆版,一个类似 MapReduce 的框架。 <br>
dumbo – 这个 Python 模块可以让人轻松的编写和运行 <a href="http://lib.csdn.net/base/hadoop" class="replace_word" title="Hadoop知识库" target="_blank" style="color:#df3434; font-weight:bold;">Hadoop</a> 程序。 <br>
luigi – 这个模块帮你构建批处理作业的复杂流水线。 <br>
mrjob – 在 <a href="http://lib.csdn.net/base/hadoop" class="replace_word" title="Hadoop知识库" target="_blank" style="color:#df3434; font-weight:bold;">hadoop</a> 或 Amazon Web Services 上运行 MapReduce 任务。 <br>
PySpark – Spark 的 Python API 。 <br>
streamparse – 运行针对事实数据流的 Python 代码。集成了Apache Storm。 <br>
函数式编程</p>

<p>使用 Python 进行函数式编程。</p>

<p>CyToolz – Toolz 的 Cython 实现 : 高性能函数式工具。 <br>
fn.py – 在 Python 中进行函数式编程 : 实现了一些享受函数式编程缺失的功能。 <br>
funcy – 炫酷又实用的函数式工具。 <br>
Toolz – 一组用于迭代器,函数和字典的函数式编程工具。 <br>
第三方 API</p>

<p>用来访问第三方 API的库。 参见: List of Python API Wrappers and Libraries。</p>

<p>apache-libcloud – 一个为各种云设计的 Python 库。 <br>
boto – Amazon Web Services 的 Python 接口。 <br>
django-wordpress – WordPress models and views for Django. <br>
facebook-sdk – Facebook 平台的 Python SDK. <br>
facepy – Facepy 让和 Facebook’s Graph API 的交互变得更容易。 <br>
gmail – Gmail 的 Python 接口。 <br>
google-api-python-client – Python 用的 Google APIs 客户端库。 <br>
gspread – Google 电子表格的 Python API. <br>
twython – Twitter API 的封装。 <br>
DevOps 工具</p>

<p>用于 DevOps 的软件和库。</p>

<p>Ansible – 一个非常简单的 IT 自动化平台。 <br>
SaltStack – 基础设施自动化和管理系统。 <br>
<a href="http://lib.csdn.net/base/openstack" class="replace_word" title="OpenStack知识库" target="_blank" style="color:#df3434; font-weight:bold;">OpenStack</a> – 用于构建私有和公有云的开源软件。 <br>
<a href="http://lib.csdn.net/base/docker" class="replace_word" title="Docker知识库" target="_blank" style="color:#df3434; font-weight:bold;">Docker</a> Compose – 快速,分离的开发环境,使用 <a href="http://lib.csdn.net/base/docker" class="replace_word" title="Docker知识库" target="_blank" style="color:#df3434; font-weight:bold;">docker</a>。 <br>
Fabric – 一个简单的,Python 风格的工具,用来进行远程执行和部署。 <br>
cuisine – 为 Fabric 提供一系列高级函数。 <br>
Fabtools – 一个用来编写超赞的 Fabric 文件的工具。 <br>
gitapi – <a href="http://lib.csdn.net/base/git" class="replace_word" title="Git知识库" target="_blank" style="color:#df3434; font-weight:bold;">Git</a> 的纯 Python API。 <br>
hgapi – Mercurial 的纯 Python API。 <br>
honcho – Foreman的 Python 克隆版,用来管理基于Procfile的应用。 <br>
pexpect – Controlling interactive programs in a pseudo-terminal like 在一个伪终端中控制交互程序,就像 GNU expect 一样。 <br>
psutil – 一个跨平台进程和系统工具模块。 <br>
supervisor – UNIX 的进程控制系统。 <br>
任务调度</p>

<p>任务调度库。</p>

<p>APScheduler – 轻巧但强大的进程内任务调度,使你可以调度函数。 <br>
django-schedule – 一个 Django 排程应用。 <br>
doit – 一个任务执行和构建工具。 <br>
gunnery – 分布式系统使用的多用途任务执行工具 ,具有 web 交互界面。 <br>
Joblib – 一组为 Python 提供轻量级作业流水线的工具。 <br>
Plan – 如有神助地编写 crontab 文件。 <br>
schedule – 人性化的 Python 任务调度库。 <br>
Spiff – 使用纯 Python 实现的强大的工作流引擎。 <br>
TaskFlow – 一个可以让你方便执行任务的 Python 库,一致并且可靠。 <br>
外来函数接口</p>

<p>使用外来函数接口的库。</p>

<p>cffi – 用来调用 C 代码的外来函数接口。 <br>
ctypes – (Python 标准库) 用来调用 C 代码的外来函数接口。 <br>
PyCUDA – Nvidia CUDA API 的封装。 <br>
SWIG – 简化的封装和接口生成器。 <br>
高性能</p>

<p>让 Python 更快的库。</p>

<p>Cython – 优化的 Python 静态编译器。使用类型混合使 Python 编译成 C 或 C++ 模块来获得性能的极大提升。 <br>
PeachPy – 嵌入 Python 的 x86-64 汇编器。可以被用作 Python 内联的汇编器或者是独立的汇编器,用于 Windows, Linux, OS X, Native Client 或者 <a href="http://lib.csdn.net/base/go" class="replace_word" title="Go知识库" target="_blank" style="color:#df3434; font-weight:bold;">Go</a> 。 <br>
PyPy – 使用 Python 实现的 Python。解释器使用黑魔法加快 Python 运行速度且不需要加入额外的类型信息。 <br>
Pyston – 使用 LLVM 和现代 JIT 技术构建的 Python 实现,目标是为了获得很好的性能。 <br>
Stackless Python – 一个强化版的 Python。 <br>
微软的 Windows平台</p>

<p>在 Windows 平台上进行 Python 编程。</p>

<p>Python(x,y) – 面向科学应用的 Python 发行版,基于 Qt 和 Spyder。 <br>
pythonlibs – 非官方的 Windows 平台 Python 扩展二进制包。 <br>
PythonNet – Python 与 .NET 公共语言运行库 (CLR)的集成。 <br>
PyWin32 – 针对 Windows 的Python 扩展。 <br>
WinPython – Windows 7/8 系统下便携式开发环境。 <br>
网络可视化和SDN</p>

<p>用来进行网络可视化和SDN(软件定义网络)的工具和库。</p>

<p>Mininet – 一款流行的网络模拟器以及用 Python 编写的 API。 <br>
POX – 一个针对基于 Python 的软件定义网络应用(例如 OpenFlow SDN 控制器)的开源开发平台。 <br>
Pyretic – 火热的 SDN 编程语言中的一员,为网络交换机和模拟器提供强大的抽象能力。 <br>
SDX Platform – 基于 SDN 的 IXP 实现,影响了 Mininet, POX 和 Pyretic。 <br>
硬件</p>

<p>用来对硬件进行编程的库。</p>

<p>ino -操作Arduino的命令行工具。 <br>
Pyro – Python <a href="http://lib.csdn.net/base/robot" class="replace_word" title="机器人知识库" target="_blank" style="color:#df3434; font-weight:bold;">机器人</a>编程库。 <br>
PyUserInput – 跨平台的,控制鼠标和键盘的模块。 <br>
scapy – 一个非常棒的操作数据包的库。 <br>
wifi – 一个 Python 库和命令行工具用来在 Linux 平台上操作WiFi。 <br>
Pingo – Pingo 为类似Raspberry Pi,pcDuino, Intel Galileo等设备提供统一的API用以编程。 <br>
兼容性</p>

<p>帮助从 Python 2 向 Python 3迁移的库。</p>

<p>Python-Future – 这就是 Python 2 和 Python 3 之间丢失的那个兼容性层。 <br>
Python-Modernize – 使 Python 代码更加现代化以便最终迁移到 Python 3。 <br>
Six – Python 2 和 3 的兼容性工具。 <br>
杂项</p>

<p>不属于上面任何一个类别,但是非常有用的库。</p>

<p>blinker – 一个快速的 Python 进程内信号/事件分发系统。 <br>
itsdangerous – 一系列辅助工具用来将可信的数据传入不可信的环境。 <br>
pluginbase – 一个简单但是非常灵活的 Python 插件系统。 <br>
Pychievements – 一个用来创建和追踪成就的 Python 框架。 <br>
Tryton – 一个通用商务框架。 <br>
算法和设计模式</p>

<p>Python 实现的算法和设计模式。</p>

<p>algorithms -一个 Python 算法模块 <br>
python-patterns – Python 设计模式的集合。 <br>
sortedcontainers – 快速,纯 Python 实现的SortedList,SortedDict 和 SortedSet 类型。 <br>
编辑器插件</p>

<p>编辑器和 IDE 的插件</p>

<p>Emacs <br>
Elpy – Emacs Python 开发环境。 <br>
Sublime Text <br>
SublimeJEDI – 一个 Sublime Text 插件,用来使用超赞的自动补全库 Jedi。 <br>
Anaconda – Anaconda 把你的 Sublime Text 3 变成一个功能齐全的 Python IDE。 <br>
Vim <br>
YouCompleteMe – 引入基于 Jedi 的 Python 自动补全引擎。 <br>
Jedi-vim – 绑定 Vim 和 Jedi 自动补全库对 Python 进行自动补全。 <br>
Python-mode – 将 Vim 变成 Python IDE 的一款多合一插件。 <br>
Visual Studio <br>
PTVS – Visual Studio 的 Python 工具 <br>
集成开发环境</p>

<p>流行的 Python 集成开发环境。</p>

<p>PyCharm – 商业化的 Python IDE ,由 JetBrains 开发。也有免费的社区版提供。 <br>
LiClipse – 基于 Eclipse 的免费多语言 IDE 。使用 PyDev 来支持 Python 。 <br>
Spyder – 开源 Python IDE。 <br>
服务</p>

<p>在线工具和简化开发的 API 。</p>

<p>持续集成</p>

<p>参见: awesome-CIandCD.</p>

<p>Travis CI – 一个流行的工具,为你的开源和私人项目提供持续集成服务。(仅支持 GitHub) <br>
CircleCI – 一个持续集成工具,可以非常快速的进行并行测试。 (仅支持 GitHub) <br>
Vexor CI – 一个为私人 app 提供持续集成的工具,支持按分钟付费。 <br>
Wercker – 基于 Docker 平台,用来构建和部署<a href="http://lib.csdn.net/base/microservice" class="replace_word" title="微服务知识库" target="_blank" style="color:#df3434; font-weight:bold;">微服务</a>。 <br>
代码质量</p>

<p>Codacy – 自动化代码审查,更加快速的发布高质量代码。对于开源项目是免费的。 <br>
QuantifiedCode – 一个数据驱动、自动、持续的代码审查工具。 <br>
资源</p>

<p>在这里可以找到新的 Python 库。</p>

<p>网站</p>

<p>r/Python <br>
CoolGithubProjects <br>
Django Packages <br>
Full Stack Python <br>
Python 3 Wall of Superpowers <br>
Python Hackers <br>
Python ZEEF <br>
Trending Python repositories on GitHub today <br>
PyPI Ranking <br>
周刊</p>

<p>Import Python Newsletter <br>
Pycoder’s Weekly <br>
Python Weekly <br>
Twitter</p>

<p>@codetengu <br>
@getpy <br>
@planetpython <br>
@pycoders <br>
@pypi <br>
@pythontrending <br>
@PythonWeekly</p></div>
        <script type="text/javascript">
            $(function () {
                $('pre.prettyprint code').each(function () {
                    var lines = $(this).text().split('\n').length;
                    var $numbering = $('<ul></ul>').addClass('pre-numbering').hide();
                    $(this).addClass('has-numbering').parent().append($numbering);
                    for (i = 1; i <= lines; i++) {
                        $numbering.append($('<li></li>').text(i));
                    };
                    $numbering.fadeIn(1700);
                });
            });
        </script>
   
</div>




<!-- Baidu Button BEGIN -->




<div class="bdsharebuttonbox tracking-ad" style="float: right;" data-mod="popu_172">
<a href="#" class="bds_more" data-cmd="more" style="background-position:0 0 !important; background-image: url(http://bdimg.share.baidu.com/static/api/img/share/icons_0_16.png?v=d754dcc0.png) !important" target="_blank"></a>
<a href="#" class="bds_qzone" data-cmd="qzone" title="分享到QQ空间" style="background-position:0 -52px !important" target="_blank"></a>
<a href="#" class="bds_tsina" data-cmd="tsina" title="分享到新浪微博" style="background-position:0 -104px !important" target="_blank"></a>
<a href="#" class="bds_tqq" data-cmd="tqq" title="分享到腾讯微博" style="background-position:0 -260px !important" target="_blank"></a>
<a href="#" class="bds_renren" data-cmd="renren" title="分享到人人网" style="background-position:0 -208px !important" target="_blank"></a>
<a href="#" class="bds_weixin" data-cmd="weixin" title="分享到微信" style="background-position:0 -1612px !important" target="_blank"></a>
</div>
<script>window._bd_share_config = { "common": { "bdSnsKey": {}, "bdText": "", "bdMini": "1", "bdMiniList": false, "bdPic": "", "bdStyle": "0", "bdSize": "16" }, "share": {} }; with (document) 0[(getElementsByTagName('head')[0] || body).appendChild(createElement('script')).src = 'http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion=' + ~(-new Date() / 36e5)];</script>
<!-- Baidu Button END -->

   

<!--172.16.140.14-->

<!-- Baidu Button BEGIN -->
<script type="text/javascript" id="bdshare_js" data="type=tools&uid=1536434" src="http://bdimg.share.baidu.com/static/js/bds_s_v2.js?cdnversion=417183"></script>

<script type="text/javascript">
    document.getElementById("bdshell_js").src = "http://bdimg.share.baidu.com/static/js/shell_v2.js?cdnversion=" + Math.ceil(new Date()/3600000)
</script>
<!-- Baidu Button END -->



 


        <div id="digg" articleid="76602073">
            <dl id="btnDigg" class="digg digg_enable" onclick="btndigga();">
               
                 <dt>顶</dt>
                <dd>0</dd>
            </dl>
           
              
            <dl id="btnBury" class="digg digg_enable" onclick="btnburya();">
              
                  <dt>踩</dt>
                <dd>0</dd>               
            </dl>
            
        </div>
     <div class="tracking-ad" data-mod="popu_222"><a href="javascript:void(0);" target="_blank"> </a>   </div>
    <div class="tracking-ad" data-mod="popu_223"> <a href="javascript:void(0);" target="_blank"> </a></div>
    <script type="text/javascript">
        function btndigga() {
            $(".tracking-ad[data-mod='popu_222'] a").click();
        }
        function btnburya() {
            $(".tracking-ad[data-mod='popu_223'] a").click();
        }
            </script>

   <ul class="article_next_prev">
                <li class="prev_article"><span onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_shangyipian']);location.href='http://blog.csdn.net/yincheng01/article/details/75807811';">上一篇</span><a href="http://blog.csdn.net/yincheng01/article/details/75807811" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_shangyipian'])">Python金融行业必备工具</a></li>
    </ul>

    <div style="clear:both; height:10px;"></div>


            <div class="similar_article">
                    <h4></h4>
                    <div class="similar_c" style="margin:20px 0px 0px 0px">
                        <div class="similar_c_t">
                            相关文章推荐
                        </div>
                   
                        <div class="similar_wrap tracking-ad" data-mod="popu_36">                       
                            <ul class="similar_list fl">    
                                   <li>
                                       <em>•</em>
                                       <a href="http://blog.csdn.net/mori66/article/details/53788196" title="python常用模块大全" strategy="BlogCommendFromCsdn" target="_blank">python常用模块大全</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://xinghaifeng2006.iteye.com/blog/1985192" title=" 常用Python第三方库 简介" strategy="BlogCommendFromCsdn" target="_blank"> 常用Python第三方库 简介</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://blog.csdn.net/java_xiaoxiao/article/details/71173135" title="python资源大全+自己常用库" strategy="BlogCommendFromCsdn" target="_blank">python资源大全+自己常用库</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://dacoolbaby.iteye.com/blog/2037073" title="[转]Python字符串常用大全" strategy="BlogCommendFromCsdn" target="_blank">[转]Python字符串常用大全</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://blog.csdn.net/qq_26341621/article/details/72827804" title="python 常用库" strategy="BlogCommendFromCsdn" target="_blank">python 常用库</a>
                                   </li>
                            </ul>
                              <ul class="similar_list fr">      
                                   <li>
                                       <em>•</em>
                                       <a href="http://fire01312.iteye.com/blog/703339" title="python 常用类库!" strategy="BlogCommendFromCsdn" target="_blank">python 常用类库!</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://blog.csdn.net/u011995719/article/details/72598935" title="Python之Pandas库常用函数大全(含注释)" strategy="BlogCommendFromCsdn" target="_blank">Python之Pandas库常用函数大全(含注释)</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://shangxun.iteye.com/blog/2120575" title="Python 学习入门(3)—— 常用类库" strategy="BlogCommendFromCsdn" target="_blank">Python 学习入门(3)—— 常用类库</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://blog.csdn.net/macb007/article/details/75397642" title="机器学习常用的Python库" strategy="BlogCommendFromCsdn" target="_blank">机器学习常用的Python库</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://blog.csdn.net/u011995719/article/details/71080987" title="Python之Numpy库常用函数大全(含注释)" strategy="BlogCommendFromCsdn" target="_blank">Python之Numpy库常用函数大全(含注释)</a>
                                   </li>
                            </ul>
                        </div>
                    </div>
                </div>   
      
</div>


<div id="suggest">

</div>
         <script language="javascript" type="text/javascript">     
             $(function(){
                 $.get("/yincheng01/svc/GetSuggestContent/76602073",function(data){
                     $("#suggest").html(data);
                 });     
             });             
         </script>  

        <dl class="blog-ass-articl tracking-ad" id="res-relatived" data-mod="popu_84"> 
             <dt><span>猜你在找</span></dt>    
           
    
           

                        <dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px; white-space: nowrap;">
                             <a href="http://edu.csdn.net/huiyiCourse/series_detail/54?utm_source=blog7" title="【直播】机器学习&数据挖掘7周实训--韦玮" strategy="undefined" target="_blank">【直播】机器学习&数据挖掘7周实训--韦玮</a>
                        </dd>
                        <dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px; white-space: nowrap;">
                             <a href="http://edu.csdn.net/combo/detail/471?utm_source=blog7" title="【套餐】系统集成项目管理工程师顺利通关--徐朋" strategy="undefined" target="_blank">【套餐】系统集成项目管理工程师顺利通关--徐朋</a>
                        </dd>
                        <dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px; white-space: nowrap;">
                             <a href="http://edu.csdn.net/huiyiCourse/series_detail/55?utm_source=blog7" title="【直播】3小时掌握Docker最佳实战-徐西宁" strategy="undefined" target="_blank">【直播】3小时掌握Docker最佳实战-徐西宁</a>
                        </dd>
                        <dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px; white-space: nowrap;">
                             <a href="http://edu.csdn.net/combo/detail/505?utm_source=blog7" title="【套餐】机器学习系列套餐(算法+实战)--唐宇迪" strategy="undefined" target="_blank">【套餐】机器学习系列套餐(算法+实战)--唐宇迪</a>
                        </dd>
                        <dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px; white-space: nowrap;">
                             <a href="http://edu.csdn.net/huiyiCourse/series_detail/52?utm_source=blog7" title="【直播】计算机视觉原理及实战--屈教授" strategy="undefined" target="_blank">【直播】计算机视觉原理及实战--屈教授</a>
                        </dd>
                        <dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px; white-space: nowrap;">
                             <a href="http://edu.csdn.net/combo/detail/178?utm_source=blog7" title="【套餐】微信订阅号+服务号Java版 v2.0--翟东平" strategy="undefined" target="_blank">【套餐】微信订阅号+服务号Java版 v2.0--翟东平</a>
                        </dd>
                        <dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px; white-space: nowrap;">
                             <a href="http://edu.csdn.net/huiyiCourse/series_detail/47?utm_source=blog7" title="【直播】机器学习之矩阵--黄博士" strategy="undefined" target="_blank">【直播】机器学习之矩阵--黄博士</a>
                        </dd>
                        <dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px; white-space: nowrap;">
                             <a href="http://edu.csdn.net/combo/detail/178?utm_source=blog7" title="【套餐】微信订阅号+服务号Java版 v2.0--翟东平" strategy="undefined" target="_blank">【套餐】微信订阅号+服务号Java版 v2.0--翟东平</a>
                        </dd>
                        <dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px; white-space: nowrap;">
                             <a href="http://edu.csdn.net/huiyiCourse/series_detail/48?utm_source=blog7" title="【直播】机器学习之凸优化--马博士" strategy="undefined" target="_blank">【直播】机器学习之凸优化--马博士</a>
                        </dd>
                        <dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px; white-space: nowrap;">
                             <a href="http://edu.csdn.net/combo/detail/484?utm_source=blog7" title="【套餐】Javascript 设计模式实战--曾亮" strategy="undefined" target="_blank">【套餐】Javascript 设计模式实战--曾亮</a>
                        </dd>

                  
              
                 
        </dl>




            
                                    
            
                                    

        <!-- 广告位开始 -->
        <!-- 广告位结束 -->


<div class="comment_class">
    <div id="comment_title" class="panel_head">
        <span class="see_comment">查看评论</span><a name="comments"></a></div>
    <div id="comment_list"><dl class="comment_item comment_topic" id="comment_item_7059709"><dt class="comment_head" floor="2">2楼 <span class="user"><a class="username" href="/qq_34731627" target="_blank">qq_34731627</a> <span class="ptime">昨天 15:53发表</span>  <a href="#reply" class="cmt_btn reply" title="回复">[回复]</a> <span class="comment_manage" style="display:none;" commentid="7059709" username="qq_34731627"> <a href="#quote" class="cmt_btn quote" title="引用">[引用]</a> <a href="#report" class="cmt_btn report" title="举报">[举报]</a></span></span></dt><dd class="comment_userface"><a href="/qq_34731627" target="_blank"><img src="http://avatar.csdn.net/B/5/7/3_qq_34731627.jpg" width="40" height="40"></a></dd><dd class="comment_body">锄禾日当午 学Python真是苦</dd></dl><dl class="comment_item comment_topic" id="comment_item_7059707"><dt class="comment_head" floor="1">1楼 <span class="user"><a class="username" href="/qq_34731627" target="_blank">qq_34731627</a> <span class="ptime">昨天 15:52发表</span>  <a href="#reply" class="cmt_btn reply" title="回复">[回复]</a> <span class="comment_manage" style="display:none;" commentid="7059707" username="qq_34731627"> <a href="#quote" class="cmt_btn quote" title="引用">[引用]</a> <a href="#report" class="cmt_btn report" title="举报">[举报]</a></span></span></dt><dd class="comment_userface"><a href="/qq_34731627" target="_blank"><img src="http://avatar.csdn.net/B/5/7/3_qq_34731627.jpg" width="40" height="40"></a></dd><dd class="comment_body">锄禾日当午,学Pyhon真是苦</dd></dl><div class="clear"></div></div>
    <div id="comment_bar" style="display: none;">
    </div>
    <div id="comment_form"><a name="commentbox"></a><a name="reply"></a><a name="quote"></a><form action="/yincheng01/comment/submit?id=76602073" method="post" onsubmit="return subform(this);"><div class="commentform"><div class="panel_head">发表评论</div><ul><li class="left">用 户 名:</li><li class="right">wuqing942274053</li></ul><ul><li class="left">评论内容:</li><li class="right" style="position:relative;"><div id="ubbtools"><a href="#insertcode" code="code"><img src="http://static.blog.csdn.net/images/ubb/code.gif" border="0" alt="插入代码" title="插入代码"></a></div><div id="lang_list" style="position: absolute; top: 28px; left: 0px; display: none;"><a class="long_name" href="#html">HTML/XML</a><a class="long_name" href="#objc">objective-c</a><a class="zhong_name" href="#delphi">Delphi</a><a class="zhong_name" href="#ruby">Ruby</a><a href="#php">PHP</a><a class="duan_name" href="#csharp">C#</a><a style=" border-right: none;" class="duan_name" href="#cpp">C++</a><a style=" border-bottom:none;" class="long_name" href="#javascript">JavaScript</a><a style=" border-bottom:none;" class="long_name" href="#vb">Visual Basic</a><a style=" border-bottom:none;" class="zhong_name" href="#python">Python</a><a style=" border-bottom:none;" class="zhong_name" href="#java">Java</a><a style="border-bottom:none;" class="duan_name" href="#css">CSS</a><a style="border-bottom:none;" class="duan_name" href="#sql">SQL</a><a style="border:none;" class="duan_name" href="#plain">其它</a></div><textarea class="comment_content" name="comment_content" id="comment_content" style="width: 400px; height: 200px;"></textarea></li></ul><ul><input type="hidden" id="comment_replyId" name="comment_replyId"><input type="hidden" id="comment_userId" name="comment_userId" value="521203"><input type="hidden" id="commentId" name="commentId" value=""><input type="submit" class="comment_btn" value="提交">  <span id="tip_comment" style="color: Red; display: none;"></span></ul></div></form></div>
    <div class="announce">
        * 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场<a name="reply"></a><a name="quote"></a></div>
</div>

<script type="text/javascript">
    var fileName = '76602073';
    var commentscount = 2;
    var islock = false
</script>

    <div id="ad_bot">
    </div>
<div id="report_dialog">
</div>

<div id="d-top" style="bottom:60px;">

        <a id="quick-reply" class="btn btn-top q-reply" title="快速回复" style="display:none;">
            <img src="http://static.blog.csdn.net/images/blog-icon-reply.png" alt="快速回复">
        </a>    
    <a id="d-top-a" class="btn btn-top backtop" style="display: none;" title="返回顶部" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_huidaodingbu'])">         
         <img src="http://static.blog.csdn.net/images/top.png" alt="TOP">
    </a>
</div>
<script type="text/javascript">
    $(function ()
    {
        $("#ad_frm_0").height("90px");
        
        setTimeout(function(){
            $("#ad_frm_2").height("200px");
        },1000);    
    });
  
</script>
<style type="text/css">
    .tag_list
    {
        background: none repeat scroll 0 0 #FFFFFF;
        border: 1px solid #D7CBC1;
        color: #000000;
        font-size: 12px;
        line-height: 20px;
        list-style: none outside none;
        margin: 10px 2% 0 1%;
        padding: 1px;
    }
    .tag_list h5
    {
        background: none repeat scroll 0 0 #E0DBD3;
        color: #47381C;
        font-size: 12px;
        height: 24px;
        line-height: 24px;
        padding: 0 5px;
        margin: 0;
    }
    .tag_list h5 a
    {
        color: #47381C;
    }
    .classify
    {
        margin: 10px 0;
        padding: 4px 12px 8px;
    }
    .classify a
    {
        margin-right: 20px;
        white-space: nowrap;
    }
</style>





<div id="pop_win" style="display:none ;position: absolute; z-index: 10000; border: 1px solid rgb(220, 220, 220); top: 222.5px; left: 630px; opacity: 1; background: none 0px 0px repeat scroll rgb(255, 255, 255);">
    
</div>
<div id="popup_mask"></div>
<style>
    #popup_mask
    {
        position: absolute;
        width: 100%;
        height: 100%;
        background: #000;
        z-index: 9999;
        left: 0px;
        top: 0px;
        opacity: 0.3;
        filter: alpha(opacity=30);
        display: none;
    }

</style>




<script type="text/javascript">
    $(function(){        
        
        setTimeout(function(){
            $(".comment_body:contains('回复')").each(function(index,item){
                var u=$(this).text().split(':')[0].toString().replace("回复","")
                var thisComment=$(this);
                if(u)
                {
                    $.getJSON("https://passport.csdn.net/get/nick?callback=?", {users: u}, function(a) {
                        if(a!=null&&a.data!=null&&a.data.length>0)
                        {
                            nick=a.data[0].n; 
                            if(u!=nick)
                            {
                                thisComment.text(thisComment.text().replace(u,nick));  
                            }
                        }       
                    });  
                }
            });         

        },200);  

        setTimeout(function(){
            $(".math").each(function(index,value){$(this).find("span").last().css("color","#fff"); })
        },5000);

        setTimeout(function(){
            $(".math").each(function(index,value){$(this).find("span").last().css("color","#fff"); })
        },10000);

        setTimeout(function(){
            $(".math").each(function(index,value){$(this).find("span").last().css("color","#fff"); })
        },15000);
        
        setTimeout(function(){
            $("a img[src='http://js.tongji.linezing.com/stats.gif']").parent().css({"position":"absolute","left":"50%"});
        },300);
    });

    function loginbox(){
        var $logpop=$("#pop_win");
        $logpop.html('<iframe src="https://passport.csdn.net/account/loginbox?service=http://static.blog.csdn.net/callback.htm" frameborder="0" height="600" width="400" scrolling="no"></iframe>');

        $('#popup_mask').css({
            opacity: 0.5,
            width: $( document ).width() + 'px',
            height:  $( document ).height() + 'px'
        });
        $('#popup_mask').css("display","block");
 
        $logpop.css( {
            top: ($( window ).height() - $logpop.height())/ 2  + $( window 
       ).scrollTop() + 'px',
            left:($( window ).width() - $logpop.width())/ 2
        } );
 
        setTimeout( function () {
            $logpop.show();
            $logpop.css( {
                opacity: 1
            } );
        }, 200 );
 
        $('#popup_mask').unbind("click");
        $('#popup_mask').bind("click", function(){
            $('#popup_mask').hide();
            var $clopop = $("#pop_win");
            $("#common_ask_div_sc").css("display","none");
            $clopop.css( {
                opacity: 0
            } );
            setTimeout( function () {
                $clopop.hide();
            }, 350 );
            return false;
        });
    }   

    var articletitle='Python常用库大全';

</script>










                        <div class="clear">
                        </div>
                    </div>                   
                
            </div>
                   
           <div id="side">
               
    <div class="side">
<div id="panel_Profile" class="panel">
<ul class="panel_head"><span>个人资料</span></ul>
<ul class="panel_body profile">
<div id="blog_userface">
    <a href="http://my.csdn.net/yincheng01" target="_blank">
    <img src="http://avatar.csdn.net/A/F/C/1_yincheng01.jpg" title="访问我的空间" style="max-width:90%">
    </a>
    <br>
    <span><a href="http://my.csdn.net/yincheng01" class="user_name" target="_blank">尹成</a></span>
</div>
<div class="interact">

    <a href="javascript:void(0);" class="attent" id="span_add_follow" title="[加关注]"></a>

 <a href="javascript:void(0);" class="letter" title="[发私信]" onclick="window.open('http://msg.csdn.net/letters/model?receiver=yincheng01','_blank','height=350,width=700');_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_sixin'])"></a>  
</div>
<div id="blog_medal">
                       <div class="ico_expert" onclick="javascript:location='http://blog.csdn.net/experts/rule.html'" title="CSDN认证专家" style="cursor:pointer;width:60px;height:60px;background:url('http://c.csdnimg.cn/jifen/images/xunzhang/xunzhang/bokezhuanjiamiddle.png') no-repeat"></div>
                <div id="bms_box">
                                            <a target="_blank">
                                                    <img src="http://c.csdnimg.cn/jifen/images/xunzhang/xunzhang/zhuanlandaren.png" onmouseover="m_over_m(this,2)" onmouseout="m_out_m()" alt="6">
                                            </a>
                                            <a target="_blank">
                                                    <img src="http://c.csdnimg.cn/jifen/images/xunzhang/xunzhang/weiruanmvp.png" onmouseover="m_over_m(this,5)" onmouseout="m_out_m()" alt="1">
                                            </a>
               </div>
</div>
<ul id="blog_rank">
    <li>访问:<span>4546891次</span></li>
    <li>积分:<span>61636</span> </li>    
    <li>等级: <span style="position:relative;display:inline-block;z-index:1">
            <img src="http://c.csdnimg.cn/jifen/images/xunzhang/jianzhang/blog9.png" alt="" style="vertical-align: middle;" id="leveImg">
            <div id="smallTittle" style=" position: absolute;  left: -24px;  top: 25px;  text-align: center;  width: 101px;  height: 32px;  background-color: #fff;  line-height: 32px;  border: 2px #DDDDDD solid;  box-shadow: 0px 2px 2px rgba (0,0,0,0.1);  display: none;   z-index: 999;">
            <div style="left: 42%;  top: -8px;  position: absolute;  width: 0;  height: 0;  border-left: 10px solid transparent;  border-right: 10px solid transparent;  border-bottom: 8px solid #EAEAEA;"></div>
            积分:61636 </div>
        </span>  </li>
    <li>排名:<span>第33名</span></li>
</ul>
<ul id="blog_statistics">
    <li>原创:<span>1325篇</span></li>
    <li>转载:<span>70篇</span></li>
    <li>译文:<span>34篇</span></li>
    <li>评论:<span>5738条</span></li>
</ul>
</ul>
</div>


        <div id="panel_Category" class="panel">
            <ul class="panel_head"><span>我的课程</span> 
                    <span style="float:right"><a href="http://edu.csdn.net/lecturer/lecturer_detail?lecturer_id=294" target="_blank">更多</a></span>
            </ul>
            <ul class="panel_body" id="sp_column">        
                            <table cellpadding="0" cellspacing="0">
                                <tbody>
                                   <tr>
                                        <td style="padding:10px 10px 0 0;">
                                              <a href="http://edu.csdn.net/course/detail/5383" target="_blank"><img src="http://img.bss.csdn.net/201707172042165361.png" style="width:75px;height:75px;" title="Python全栈"></a>
                                        </td>
                                        <td style="padding:10px 0; vertical-align:top;">
                                            <a href="http://edu.csdn.net/course/detail/5383" target="_blank" title="Python全栈">Python全栈</a>
                                            <p>难度:初级</p>
                                            <span>类型:技术教程</span>
                                       </td>
                                    </tr>
                                </tbody>
                            </table>     
                            <table cellpadding="0" cellspacing="0">
                                <tbody>
                                   <tr>
                                        <td style="padding:10px 10px 0 0;">
                                              <a href="http://edu.csdn.net/course/detail/4628" target="_blank"><img src="http://img.bss.csdn.net/201704141006141107.jpg" style="width:75px;height:75px;" title="企业级实战大数据课程(十)"></a>
                                        </td>
                                        <td style="padding:10px 0; vertical-align:top;">
                                            <a href="http://edu.csdn.net/course/detail/4628" target="_blank" title="企业级实战大数据课程(十)">企业级实战大数据课程(十)</a>
                                            <p>难度:初级</p>
                                            <span>类型:技术教程</span>
                                       </td>
                                    </tr>
                                </tbody>
                            </table>     
                            <table cellpadding="0" cellspacing="0">
                                <tbody>
                                   <tr>
                                        <td style="padding:10px 10px 0 0;">
                                              <a href="http://edu.csdn.net/course/detail/4629" target="_blank"><img src="http://img.bss.csdn.net/201704181607486801.jpg" style="width:75px;height:75px;" title="企业级实战大数据课程(十一)"></a>
                                        </td>
                                        <td style="padding:10px 0; vertical-align:top;">
                                            <a href="http://edu.csdn.net/course/detail/4629" target="_blank" title="企业级实战大数据课程(十一)">企业级实战大数据课程(十一...</a>
                                            <p>难度:初级</p>
                                            <span>类型:技术教程</span>
                                       </td>
                                    </tr>
                                </tbody>
                            </table>     
            </ul>
        </div>     
<div class="panel" id="panel_Search">
    <ul class="panel_head"><span>文章搜索</span></ul>
    <ul class="panel_body">
        <form id="frmSearch" action="http://so.csdn.net/search" class="form_search csdn-tracking-statistics" target="_blank" data-mod="popu_306">
        <span><input id="inputSearch" type="text" class="blogsearch" title="请输入关键字"></span>
        <input id="btnSubmit" type="button" value="搜索" title="search in blog">
        <input type="hidden" name="q" id="inputQ">
        <input type="hidden" name="t" value="blog">
        <a id="btnSearchBlog" target="_blank"></a>
        </form>
    </ul>
</div>

<script type="text/javascript">

   
    $(function () {
        $("#btnSubmit").unbind("click");
        $("#btnSubmit").click(function () {           
            search();
        });

        $("#frmSearch").submit(function () {           
            search();
            return false;
        });

        function search()
        {
            if ($("#inputSearch").val() == "") {               
                alert("请录入搜索关键词!");                         
                return false;
            }
            //var url = "http://so.csdn.net/so/search/s.do?q=" + encodeURIComponent($("#inputSearch").val()) + "&u=" + username + "&t=blog";           
            var url = "https://www.baidu.com/s?wd=" + encodeURIComponent($("#inputSearch").val()) + "%20site%3Ablog.csdn.net"
            window.location.href = url;
        }   
    });
</script><div id="panel_Category" class="panel">
    <ul class="panel_head"><span>博客专栏</span></ul>
    <ul class="panel_body" id="sp_column">
    <table cellpadding="0" cellspacing="0"><tbody><tr>
    <td style="padding:10px 10px 0 0;">
    <a href="http://blog.csdn.net/column/details/cocos2dx-itcast.html" target="_blank"><img src="http://img.blog.csdn.net/20151123175635708" style="width:75px;height:75px;"></a>
    </td>
    <td style="padding:10px 0; vertical-align:top;">
    <a href="http://blog.csdn.net/column/details/cocos2dx-itcast.html" target="_blank">cocos2dx游戏开发专栏</a>
    <p>文章:80篇</p>
    <span>阅读:282371</span>
    </td>
    </tr></tbody></table>
    <table cellpadding="0" cellspacing="0"><tbody><tr>
    <td style="padding:10px 10px 0 0;">
    <a href="http://blog.csdn.net/column/details/vs2013mianshi.html" target="_blank"><img src="http://img.blog.csdn.net/20151123175628630" style="width:75px;height:75px;"></a>
    </td>
    <td style="padding:10px 0; vertical-align:top;">
    <a href="http://blog.csdn.net/column/details/vs2013mianshi.html" target="_blank">VS2013实战拆解面试题</a>
    <p>文章:24篇</p>
    <span>阅读:36872</span>
    </td>
    </tr></tbody></table>
    <table cellpadding="0" cellspacing="0"><tbody><tr>
    <td style="padding:10px 10px 0 0;">
    <a href="http://blog.csdn.net/column/details/vs2013c.html" target="_blank"><img src="http://img.blog.csdn.net/20151123175627895" style="width:75px;height:75px;"></a>
    </td>
    <td style="padding:10px 0; vertical-align:top;">
    <a href="http://blog.csdn.net/column/details/vs2013c.html" target="_blank">VisualStduio2013C语言系列</a>
    <p>文章:180篇</p>
    <span>阅读:265787</span>
    </td>
    </tr></tbody></table>
    <table cellpadding="0" cellspacing="0"><tbody><tr>
    <td style="padding:10px 10px 0 0;">
    <a href="http://blog.csdn.net/column/details/vcpp2012algorithm.html" target="_blank"><img src="http://img.blog.csdn.net/20151123175243474" style="width:75px;height:75px;"></a>
    </td>
    <td style="padding:10px 0; vertical-align:top;">
    <a href="http://blog.csdn.net/column/details/vcpp2012algorithm.html" target="_blank">VC++2012编程演练数据结构</a>
    <p>文章:35篇</p>
    <span>阅读:80727</span>
    </td>
    </tr></tbody></table>
    <table cellpadding="0" cellspacing="0"><tbody><tr>
    <td style="padding:10px 10px 0 0;">
    <a href="http://blog.csdn.net/column/details/visualstudio11.html" target="_blank"><img src="http://img.blog.csdn.net/20151123175013942" style="width:75px;height:75px;"></a>
    </td>
    <td style="padding:10px 0; vertical-align:top;">
    <a href="http://blog.csdn.net/column/details/visualstudio11.html" target="_blank">Visual Studio 11开发专栏</a>
    <p>文章:50篇</p>
    <span>阅读:188288</span>
    </td>
    </tr></tbody></table>
    <table cellpadding="0" cellspacing="0"><tbody><tr>
    <td style="padding:10px 10px 0 0;">
    <a href="http://blog.csdn.net/column/details/windows8.html" target="_blank"><img src="http://img.blog.csdn.net/20151123175013739" style="width:75px;height:75px;"></a>
    </td>
    <td style="padding:10px 0; vertical-align:top;">
    <a href="http://blog.csdn.net/column/details/windows8.html" target="_blank">Windows8开发专栏</a>
    <p>文章:60篇</p>
    <span>阅读:268251</span>
    </td>
    </tr></tbody></table>
    <table cellpadding="0" cellspacing="0"><tbody><tr>
    <td style="padding:10px 10px 0 0;">
    <a href="http://blog.csdn.net/column/details/voicedev.html" target="_blank"><img src="http://img.blog.csdn.net/20151123175000708" style="width:75px;height:75px;"></a>
    </td>
    <td style="padding:10px 0; vertical-align:top;">
    <a href="http://blog.csdn.net/column/details/voicedev.html" target="_blank">语音交互开发</a>
    <p>文章:44篇</p>
    <span>阅读:628616</span>
    </td>
    </tr></tbody></table>
    <table cellpadding="0" cellspacing="0"><tbody><tr>
    <td style="padding:10px 10px 0 0;">
    <a href="http://blog.csdn.net/column/details/windowscppdeveloper.html" target="_blank"><img src="http://img.blog.csdn.net/20151123174959286" style="width:75px;height:75px;"></a>
    </td>
    <td style="padding:10px 0; vertical-align:top;">
    <a href="http://blog.csdn.net/column/details/windowscppdeveloper.html" target="_blank">WindowsC++编程</a>
    <p>文章:202篇</p>
    <span>阅读:1501254</span>
    </td>
    </tr></tbody></table>
    <table cellpadding="0" cellspacing="0"><tbody><tr>
    <td style="padding:10px 10px 0 0;">
    <a href="http://blog.csdn.net/column/details/visualcppsafe.html" target="_blank"><img src="http://img.blog.csdn.net/20151123174959161" style="width:75px;height:75px;"></a>
    </td>
    <td style="padding:10px 0; vertical-align:top;">
    <a href="http://blog.csdn.net/column/details/visualcppsafe.html" target="_blank">VisualC++信息安全编程</a>
    <p>文章:90篇</p>
    <span>阅读:416310</span>
    </td>
    </tr></tbody></table>
    <table cellpadding="0" cellspacing="0"><tbody><tr>
    <td style="padding:10px 10px 0 0;">
    <a href="http://blog.csdn.net/column/details/visualcpp2010.html" target="_blank"><img src="http://img.blog.csdn.net/20151123174958880" style="width:75px;height:75px;"></a>
    </td>
    <td style="padding:10px 0; vertical-align:top;">
    <a href="http://blog.csdn.net/column/details/visualcpp2010.html" target="_blank">Visual C++2010开发编程</a>
    <p>文章:70篇</p>
    <span>阅读:549773</span>
    </td>
    </tr></tbody></table>
    <table cellpadding="0" cellspacing="0"><tbody><tr>
    <td style="padding:10px 10px 0 0;">
    <a href="http://blog.csdn.net/column/details/office2010.html" target="_blank"><img src="http://img.blog.csdn.net/20151123174942145" style="width:75px;height:75px;"></a>
    </td>
    <td style="padding:10px 0; vertical-align:top;">
    <a href="http://blog.csdn.net/column/details/office2010.html" target="_blank">office2010开发办公自动化</a>
    <p>文章:27篇</p>
    <span>阅读:109530</span>
    </td>
    </tr></tbody></table>
    </ul>
</div>

<div id="custom_column_22008692" class="panel">
<ul class="panel_head"><span>尹成老师</span></ul>
<ul class="panel_body">
<iframe width="100%" height="300" class="share_self" src="http://widget.weibo.com/weiboshow/index.php?language=&width=0&height=300&fansRow=4&ptype=0&speed=0&skin=10&isTitle=1&noborder=1&isWeibo=1&isFans=1&uid=1095106947&verifier=f0d4647f&dpc=1" frameborder="0" scrolling="no"></iframe>
</ul>
</div><div id="panel_Category" class="panel">
<ul class="panel_head"><span>文章分类</span></ul>
<ul class="panel_body">    
                 <li>
                    <a href="/yincheng01/article/category/501565" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">.net技术</a><span>(47)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/668182" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">3D UI技术</a><span>(2)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/679938" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Android技术</a><span>(6)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/679936" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">C#4.0技术</a><span>(32)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/2365149" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">C语言编程</a><span>(78)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/495962" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">IBM viaVoice语音识别</a><span>(6)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/668180" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Java移动技术</a><span>(2)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/503234" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">NUANCE 语音识别技术</a><span>(3)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/680038" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">office2010技术</a><span>(26)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/496131" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">VC++编程技术</a><span>(783)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/663226" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Visual C++2010编程技术</a><span>(323)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/789801" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Visual Studio2012</a><span>(167)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/679934" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Windows CE技术</a><span>(1)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/679935" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Windows mobile 技术</a><span>(2)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/663228" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">windows phone 7技术</a><span>(4)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/663227" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Windows7编程技术</a><span>(54)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/789799" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Windows8</a><span>(181)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/679933" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">云计算技术</a><span>(3)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/605426" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">互联网创业</a><span>(8)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/666935" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">多核优化与并行计算</a><span>(4)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/605423" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">信息安全</a><span>(41)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/496138" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">创业与励志</a><span>(34)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/663229" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">微软技术构架</a><span>(3)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/495956" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">微软语音识别语音朗读技术</a><span>(21)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/498671" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">感慨人生与人生思绪</a><span>(20)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/605425" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">木马外挂黑客技术</a><span>(2)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/816358" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">物理安全</a><span>(3)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/816357" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">物联网产业</a><span>(5)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/663225" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">移动3G技术</a><span>(12)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/663230" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">项目管理</a><span>(5)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/898786" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">HTML5</a><span>(6)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/898787" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Sliverlight</a><span>(2)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/899096" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Visual Studio11</a><span>(37)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/1269370" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">数据结构与算法</a><span>(36)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/1269372" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Visual C++2012</a><span>(65)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/1269374" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Windows8内核</a><span>(1)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/1415196" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">linux cygwin</a><span>(0)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/1415197" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">linux C/C++</a><span>(162)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/1415198" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Eclipse C/C++</a><span>(15)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/1415199" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">iOS</a><span>(1)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/1415200" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Android</a><span>(16)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/1415201" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">HTML5</a><span>(0)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/1799949" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">cocos2d-x</a><span>(76)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/1962863" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">kinect</a><span>(9)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/2172845" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">脑波</a><span>(5)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/2383275" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">C++模板编程实践</a><span>(20)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/2516205" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">linux系统编程项目实践</a><span>(38)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/2533773" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">C++从入门到精通</a><span>(4)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/2539769" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Qt</a><span>(21)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/2550629" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">C++编程实践</a><span>(36)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/2559345" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Windows程序设计快速入门</a><span>(5)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/2606497" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Linux shell</a><span>(30)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/6096925" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">CCPP</a><span>(33)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/6419306" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">银河系往事</a><span>(2)</span>
                </li>
                 <li>
                    <a href="/yincheng01/article/category/6850427" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">python调用系统命令</a><span>(1)</span>
                </li>
</ul>
</div><div id="panel_Archive" class="panel">
<ul class="panel_head"><span>文章存档</span></ul>
<ul class="panel_body">
<div id="archive_list"><li><a href="/yincheng01/article/month/2017/08">2017年08月</a><span>(1)</span></li><li><a href="/yincheng01/article/month/2017/07">2017年07月</a><span>(1)</span></li><li><a href="/yincheng01/article/month/2017/06">2017年06月</a><span>(1)</span></li><li><a href="/yincheng01/article/month/2017/04">2017年04月</a><span>(1)</span></li><li><a href="/yincheng01/article/month/2016/09">2016年09月</a><span>(1)</span></li><span class="hidelist" style="display:none;"><li><a href="/yincheng01/article/month/2016/04">2016年04月</a><span>(2)</span></li><li><a href="/yincheng01/article/month/2016/03">2016年03月</a><span>(20)</span></li><li><a href="/yincheng01/article/month/2016/02">2016年02月</a><span>(20)</span></li><li><a href="/yincheng01/article/month/2015/05">2015年05月</a><span>(3)</span></li><li><a href="/yincheng01/article/month/2015/04">2015年04月</a><span>(1)</span></li><li><a href="/yincheng01/article/month/2015/01">2015年01月</a><span>(1)</span></li><li><a href="/yincheng01/article/month/2014/12">2014年12月</a><span>(1)</span></li><li><a href="/yincheng01/article/month/2014/11">2014年11月</a><span>(1)</span></li><li><a href="/yincheng01/article/month/2014/10">2014年10月</a><span>(3)</span></li><li><a href="/yincheng01/article/month/2014/09">2014年09月</a><span>(136)</span></li><li><a href="/yincheng01/article/month/2014/08">2014年08月</a><span>(26)</span></li><li><a href="/yincheng01/article/month/2014/07">2014年07月</a><span>(98)</span></li><li><a href="/yincheng01/article/month/2014/06">2014年06月</a><span>(58)</span></li><li><a href="/yincheng01/article/month/2014/05">2014年05月</a><span>(12)</span></li><li><a href="/yincheng01/article/month/2014/04">2014年04月</a><span>(9)</span></li><li><a href="/yincheng01/article/month/2014/03">2014年03月</a><span>(14)</span></li><li><a href="/yincheng01/article/month/2014/02">2014年02月</a><span>(18)</span></li><li><a href="/yincheng01/article/month/2014/01">2014年01月</a><span>(58)</span></li><li><a href="/yincheng01/article/month/2013/12">2013年12月</a><span>(295)</span></li><li><a href="/yincheng01/article/month/2013/11">2013年11月</a><span>(1)</span></li><li><a href="/yincheng01/article/month/2013/10">2013年10月</a><span>(21)</span></li><li><a href="/yincheng01/article/month/2013/09">2013年09月</a><span>(1)</span></li><li><a href="/yincheng01/article/month/2013/08">2013年08月</a><span>(2)</span></li><li><a href="/yincheng01/article/month/2013/07">2013年07月</a><span>(2)</span></li><li><a href="/yincheng01/article/month/2013/06">2013年06月</a><span>(2)</span></li><li><a href="/yincheng01/article/month/2013/05">2013年05月</a><span>(2)</span></li><li><a href="/yincheng01/article/month/2013/04">2013年04月</a><span>(5)</span></li><li><a href="/yincheng01/article/month/2013/03">2013年03月</a><span>(5)</span></li><li><a href="/yincheng01/article/month/2013/02">2013年02月</a><span>(7)</span></li><li><a href="/yincheng01/article/month/2013/01">2013年01月</a><span>(4)</span></li><li><a href="/yincheng01/article/month/2012/12">2012年12月</a><span>(4)</span></li><li><a href="/yincheng01/article/month/2012/11">2012年11月</a><span>(63)</span></li><li><a href="/yincheng01/article/month/2012/10">2012年10月</a><span>(12)</span></li><li><a href="/yincheng01/article/month/2012/09">2012年09月</a><span>(13)</span></li><li><a href="/yincheng01/article/month/2012/08">2012年08月</a><span>(7)</span></li><li><a href="/yincheng01/article/month/2012/07">2012年07月</a><span>(12)</span></li><li><a href="/yincheng01/article/month/2012/06">2012年06月</a><span>(5)</span></li><li><a href="/yincheng01/article/month/2012/05">2012年05月</a><span>(4)</span></li><li><a href="/yincheng01/article/month/2012/04">2012年04月</a><span>(5)</span></li><li><a href="/yincheng01/article/month/2012/03">2012年03月</a><span>(7)</span></li><li><a href="/yincheng01/article/month/2012/02">2012年02月</a><span>(1)</span></li><li><a href="/yincheng01/article/month/2012/01">2012年01月</a><span>(84)</span></li><li><a href="/yincheng01/article/month/2011/12">2011年12月</a><span>(56)</span></li><li><a href="/yincheng01/article/month/2011/11">2011年11月</a><span>(1)</span></li><li><a href="/yincheng01/article/month/2011/10">2011年10月</a><span>(17)</span></li><li><a href="/yincheng01/article/month/2011/09">2011年09月</a><span>(3)</span></li><li><a href="/yincheng01/article/month/2011/08">2011年08月</a><span>(3)</span></li><li><a href="/yincheng01/article/month/2011/07">2011年07月</a><span>(2)</span></li><li><a href="/yincheng01/article/month/2011/06">2011年06月</a><span>(8)</span></li><li><a href="/yincheng01/article/month/2011/05">2011年05月</a><span>(4)</span></li><li><a href="/yincheng01/article/month/2011/04">2011年04月</a><span>(5)</span></li><li><a href="/yincheng01/article/month/2011/03">2011年03月</a><span>(4)</span></li><li><a href="/yincheng01/article/month/2011/02">2011年02月</a><span>(4)</span></li><li><a href="/yincheng01/article/month/2011/01">2011年01月</a><span>(1)</span></li><li><a href="/yincheng01/article/month/2010/12">2010年12月</a><span>(3)</span></li><li><a href="/yincheng01/article/month/2010/11">2010年11月</a><span>(4)</span></li><li><a href="/yincheng01/article/month/2010/10">2010年10月</a><span>(5)</span></li><li><a href="/yincheng01/article/month/2010/09">2010年09月</a><span>(5)</span></li><li><a href="/yincheng01/article/month/2010/08">2010年08月</a><span>(4)</span></li><li><a href="/yincheng01/article/month/2010/07">2010年07月</a><span>(2)</span></li><li><a href="/yincheng01/article/month/2010/06">2010年06月</a><span>(22)</span></li><li><a href="/yincheng01/article/month/2010/05">2010年05月</a><span>(33)</span></li><li><a href="/yincheng01/article/month/2010/04">2010年04月</a><span>(20)</span></li><li><a href="/yincheng01/article/month/2010/03">2010年03月</a><span>(20)</span></li><li><a href="/yincheng01/article/month/2010/02">2010年02月</a><span>(3)</span></li><li><a href="/yincheng01/article/month/2010/01">2010年01月</a><span>(3)</span></li><li><a href="/yincheng01/article/month/2009/12">2009年12月</a><span>(9)</span></li><li><a href="/yincheng01/article/month/2009/11">2009年11月</a><span>(2)</span></li><li><a href="/yincheng01/article/month/2009/10">2009年10月</a><span>(4)</span></li><li><a href="/yincheng01/article/month/2009/09">2009年09月</a><span>(5)</span></li><li><a href="/yincheng01/article/month/2009/08">2009年08月</a><span>(10)</span></li><li><a href="/yincheng01/article/month/2009/07">2009年07月</a><span>(2)</span></li><li><a href="/yincheng01/article/month/2009/06">2009年06月</a><span>(5)</span></li><li><a href="/yincheng01/article/month/2009/05">2009年05月</a><span>(1)</span></li><li><a href="/yincheng01/article/month/2009/04">2009年04月</a><span>(9)</span></li><li><a href="/yincheng01/article/month/2009/03">2009年03月</a><span>(20)</span></li><li><a href="/yincheng01/article/month/2009/02">2009年02月</a><span>(6)</span></li><li><a href="/yincheng01/article/month/2009/01">2009年01月</a><span>(10)</span></li><li><a href="/yincheng01/article/month/2008/12">2008年12月</a><span>(64)</span></li></span><div id="archive_list_button" class="list_closed">展开</div></div>
</ul>
</div>
<div id="hotarticls" class="panel tracking-ad" data-mod="popu_340">
<ul class="panel_head">
    <span>       
阅读排行    </span>
</ul>

<ul class="panel_body itemlist">
<li>
<a href="/itcastcpp/article/details/3665998" title="vc++经典技巧总结" target="_blank">vc++经典技巧总结</a><span>(41774)</span>
</li>
<li>
<a href="/itcastcpp/article/details/3645678" title="语音识别的大规模汉语树形词典,搜索速度快如闪电" target="_blank">语音识别的大规模汉语树形词典,搜索速度快如闪电</a><span>(40481)</span>
</li>
<li>
<a href="/itcastcpp/article/details/3645558" title="一个Nuance 的语音识别的例子" target="_blank">一个Nuance 的语音识别的例子</a><span>(34819)</span>
</li>
<li>
<a href="/itcastcpp/article/details/6026015" title="程序员不成熟的若干个特征" target="_blank">程序员不成熟的若干个特征</a><span>(31604)</span>
</li>
<li>
<a href="/itcastcpp/article/details/3879130" title="基于Windows Sdk 与visual C++2008 在微软平台上构架自己的语音朗读引擎(适用于windows 2000/xp2003/vista   windows CE /mobile),本项目开源,源码请留下你们的Email,我给大家发" target="_blank">基于Windows Sdk 与visual C++2008 在微软平台上构架自己的语音朗读引擎(适用于windows 2000/xp2003/vista   windows CE /mobile),本项目开源,源码请留下你们的Email,我给大家发</a><span>(30948)</span>
</li>
<li>
<a href="/itcastcpp/article/details/5313204" title="VC++基于微软语音引擎开发语音识别总结" target="_blank">VC++基于微软语音引擎开发语音识别总结</a><span>(30734)</span>
</li>
<li>
<a href="/itcastcpp/article/details/3665950" title="VC++界面编程总结" target="_blank">VC++界面编程总结</a><span>(30520)</span>
</li>
<li>
<a href="/itcastcpp/article/details/3720014" title="基于vc++2008托管代码开发Windows Vista语音朗读" target="_blank">基于vc++2008托管代码开发Windows Vista语音朗读</a><span>(30039)</span>
</li>
<li>
<a href="/itcastcpp/article/details/3718954" title="MFC指针的获取" target="_blank">MFC指针的获取</a><span>(28359)</span>
</li>
<li>
<a href="/itcastcpp/article/details/3719984" title="基于vc++2008托管代码开发Windows Vista语音识别" target="_blank">基于vc++2008托管代码开发Windows Vista语音识别</a><span>(28231)</span>
</li>
</ul>
</div>
<div id="hotarticls2" class="panel tracking-ad" data-mod="popu_341">
<ul class="panel_head"><span>评论排行</span></ul>
<ul class="panel_body itemlist">
<li>
<a href="/itcastcpp/article/details/4146494" title="年少痴狂,怀恋曾经的创业岁月,语音识别的应用远远未到高潮,本人的软件源码开源,需要的留下Email,我给大家发" target="_blank">年少痴狂,怀恋曾经的创业岁月,语音识别的应用远远未到高潮,本人的软件源码开源,需要的留下Email,我给大家发</a><span>(815)</span>
</li>
<li>
<a href="/itcastcpp/article/details/3878807" title="基于Windows Sdk 与visual C++2008 在微软平台上构架自己的语音识别引擎(适用于windows 2000/xp2003/vista   windows CE /mobile),本项目开源,源码请留下你们的Email,我给大家发" target="_blank">基于Windows Sdk 与visual C++2008 在微软平台上构架自己的语音识别引擎(适用于windows 2000/xp2003/vista   windows CE /mobile),本项目开源,源码请留下你们的Email,我给大家发</a><span>(338)</span>
</li>
<li>
<a href="/itcastcpp/article/details/5313204" title="VC++基于微软语音引擎开发语音识别总结" target="_blank">VC++基于微软语音引擎开发语音识别总结</a><span>(335)</span>
</li>
<li>
<a href="/itcastcpp/article/details/5312011" title="中国智慧VS西方智慧-看中国IT风云与IT产业怪状" target="_blank">中国智慧VS西方智慧-看中国IT风云与IT产业怪状</a><span>(323)</span>
</li>
<li>
<a href="/itcastcpp/article/details/6026015" title="程序员不成熟的若干个特征" target="_blank">程序员不成熟的若干个特征</a><span>(212)</span>
</li>
<li>
<a href="/itcastcpp/article/details/3879130" title="基于Windows Sdk 与visual C++2008 在微软平台上构架自己的语音朗读引擎(适用于windows 2000/xp2003/vista   windows CE /mobile),本项目开源,源码请留下你们的Email,我给大家发" target="_blank">基于Windows Sdk 与visual C++2008 在微软平台上构架自己的语音朗读引擎(适用于windows 2000/xp2003/vista   windows CE /mobile),本项目开源,源码请留下你们的Email,我给大家发</a><span>(204)</span>
</li>
<li>
<a href="/itcastcpp/article/details/5466657" title=" CSDN著名技术专家Visual C++2010开发体验心得——从Visual C++6.0到Visual C++2010见证VC++辉煌时刻" target="_blank"> CSDN著名技术专家Visual C++2010开发体验心得——从Visual C++6.0到Visual C++2010见证VC++辉煌时刻</a><span>(163)</span>
</li>
<li>
<a href="/itcastcpp/article/details/5425497" title="基于Google的嵌入式系统android开发语音技术(语音搜索,语音朗读文章,语音控制)" target="_blank">基于Google的嵌入式系统android开发语音技术(语音搜索,语音朗读文章,语音控制)</a><span>(132)</span>
</li>
<li>
<a href="/itcastcpp/article/details/3618156" title="看棒子不顺眼,破解NProtect,键盘驱动级截取键盘记录" target="_blank">看棒子不顺眼,破解NProtect,键盘驱动级截取键盘记录</a><span>(105)</span>
</li>
<li>
<a href="/itcastcpp/article/details/5072923" title="基于Visual C++2010与windows SDK fo windows7开发windows7平台的tabletpc应用(2)-轨迹多文档手写轨迹输入多语言识别范例" target="_blank">基于Visual C++2010与windows SDK fo windows7开发windows7平台的tabletpc应用(2)-轨迹多文档手写轨迹输入多语言识别范例</a><span>(96)</span>
</li>
</ul>
</div>
<div id="homepageArticles" class="panel tracking-ad" data-mod="popu_4">
<ul class="panel_head"><span>推荐文章</span></ul>
<ul class="panel_body" id="ad_commend">
<ul>
<li><a href="http://blog.csdn.net/blogdevteam/article/details/76092129" target="_blank">* CSDN日报20170725——《新的开始,从研究生到入职亚马逊》</a></li>
<li><a href="http://blog.csdn.net/javazejian/article/details/75043422" target="_blank">* 深入剖析基于并发AQS的重入锁(ReetrantLock)及其Condition实现原理</a></li>
<li><a href="http://blog.csdn.net/jiangwei0910410003/article/details/75512732" target="_blank">* Android版本的"Wannacry"文件加密病毒样本分析(附带锁机)</a></li>
<li><a href="http://blog.csdn.net/mindfloating/article/details/75948781" target="_blank">* 工作与生活真的可以平衡吗?</a></li>
<li><a href="http://blog.csdn.net/poem_qianmo/article/details/75943714" target="_blank">* 《Real-Time Rendering 3rd》 提炼总结——高级着色:BRDF及相关技术</a></li>
<li><a href="http://blog.csdn.net/dog250/article/details/75735806" target="_blank">* 《三体》读后思考-泰勒展开/维度打击/黑暗森林</a></li>

</ul></ul>
</div>


<div id="newcomments" class="panel">
<ul class="panel_head"><span>最新评论</span></ul>
<ul class="panel_body itemlist">
    <li>
   
         <a href="/itcastcpp/article/details/50689512#comments">项羽是怎么死的</a>
    <p style="margin:0px;"><a href="/qq_31518167" class="user_name">程序员的小生活</a>:
项羽:个人英雄主义,充其量是个资深架构师。刘备:个人能力不足,团队来凑,典型的ceo选手。
    </p>
    </li>
    <li>
   
         <a href="/itcastcpp/article/details/76602073#comments">Python常用库大全</a>
    <p style="margin:0px;"><a href="/qq_34731627" class="user_name">qq_34731627</a>:
锄禾日当午 学Python真是苦
    </p>
    </li>
    <li>
   
         <a href="/itcastcpp/article/details/76602073#comments">Python常用库大全</a>
    <p style="margin:0px;"><a href="/qq_34731627" class="user_name">qq_34731627</a>:
锄禾日当午,学Pyhon真是苦
    </p>
    </li>
    <li>
   
         <a href="/itcastcpp/article/details/72850257#comments">千锋python基础视频-清华尹成</a>
    <p style="margin:0px;"><a href="/qq_34731627" class="user_name">qq_34731627</a>:
成哥  后期会更新进阶课程吗
    </p>
    </li>
    <li>
   
         <a href="/itcastcpp/article/details/3511733#comments">一个基于Windows Vista  speech API5.3以及WPF技术的语音识别代码</a>
    <p style="margin:0px;"><a href="/LLLuxury" class="user_name">LLLuxury</a>:
1467603390@qq.com
    </p>
    </li>
    <li>
   
         <a href="/itcastcpp/article/details/3511733#comments">千锋python基础视频-清华尹成</a>
    <p style="margin:0px;"><a href="/guidao13" class="user_name">诡道13</a>:
成哥,几年前一次偶然的机会在腾讯课堂上看到了你的C语言的教程,看了一集之后,我是真的被你讲课的风格吸...
    </p>
    </li>
    <li>
   
         <a href="/itcastcpp/article/details/9496723#comments">强烈推荐visual c++ 2012入门经典适合初学者入门</a>
    <p style="margin:0px;"><a href="/jianglichang1234" class="user_name">jianglichang1234</a>:
好书~~~~~~~~~~~~
    </p>
    </li>
    <li>
   
         <a href="/itcastcpp/article/details/4146494#comments">年少痴狂,怀恋曾经的创业岁月,语音识别的应用远远未到高潮,本人的软件源码开源,需要的留下Email,我给大家发</a>
    <p style="margin:0px;"><a href="/wbwchina" class="user_name">福兔迎祥</a>:
感谢尹老师发给我一份,328286203@qq.com
    </p>
    </li>
    <li>
   
         <a href="/itcastcpp/article/details/3562702#comments">青春如电,许多未了心愿</a>
    <p style="margin:0px;"><a href="/runnoob_1115" class="user_name">DumbNoob</a>:
9年前
    </p>
    </li>
    <li>
   
         <a href="/itcastcpp/article/details/3562702#comments">千锋python基础视频-清华尹成</a>
    <p style="margin:0px;"><a href="/qq_29815627" class="user_name">努力_努力</a>:
成哥,几年前一次偶然的机会在腾讯课堂上看到了你的C语言的教程,看了一集之后,我是真的被你讲课的风格吸...
    </p>
    </li>
</ul>
</div>
    </div>
    <div class="clear">
    </div>


           </div>   

            <div class="clear">
            </div>
        </div>

        








    <script type="text/javascript" src="http://passport.csdn.net/content/loginbox/login.js"></script>
<script type="text/javascript">
    $(function () {
        function __get_code_toolbar(snippet_id) {
            return $("<span class='tracking-ad' data-mod='popu_167'><a href='https://code.csdn.net/snippets/"
                    + snippet_id
                    + "' target='_blank' title='在CODE上查看代码片'  style='text-indent:0;'><img src='https://code.csdn.net/assets/CODE_ico.png' width=12 height=12 alt='在CODE上查看代码片' style='position:relative;top:1px;left:2px;'/></a></span>"
                    + "<span class='tracking-ad' data-mod='popu_170'><a href='https://code.csdn.net/snippets/"
                    + snippet_id
                    + "/fork' target='_blank' title='派生到我的代码片' style='text-indent:0;'><img src='https://code.csdn.net/assets/ico_fork.svg' width=12 height=12 alt='派生到我的代码片' style='position:relative;top:2px;left:2px;'/></a></span>");
        }
        
        $("[code_snippet_id]").each(function () {
            __s_id = $(this).attr("code_snippet_id");
            if (__s_id != null && __s_id != "" && __s_id != 0 && parseInt(__s_id) > 70020) {
                __code_tool = __get_code_toolbar(__s_id);
                $(this).prev().find(".tools").append(__code_tool);
            }
        });

        $(".bar").show();
    });
</script>





    </div>
      <!--new top-->
    

     

   
   
     <!--new top-->
   
   

    
    
    
   

   


       <script type="text/javascript" src="http://static.blog.csdn.net/public/res/bower-libs/MathJax/MathJax.js?config=TeX-AMS_HTML"></script>
          <script type="text/javascript">
              //$(function () {
              //    setTimeout(function () {
              //        var searchtitletags = articletitle + ',' + $("#tags").html();
              //        searchService({
              //            index: 'blog',
              //            query: searchtitletags,
              //            from: 5,
              //            size: 5,
              //            appendTo: '#res',
              //            url: 'recommend',
              //            his: 2,
              //            client: "blog_cf_enhance",
              //            tmpl: '<dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px;"><a href="#{ url }" title="#{ title }" strategy="#{ strategy }">#{ title }</a></dd>'
              //        });
              //    }, 1000);
              //});

         </script>
    
    <script src="http://static.blog.csdn.net/scripts/csdn_blog_detail.min.js" type="text/javascript"></script><link rel="stylesheet" type="text/css" href="//csdnimg.cn/pubfooter/css/pub_footer_2014.css"><div class="pub_fo"><div id="pub_footerall" class="pub_footer_new"><dl><dt></dt> <dd class="foot_sub_menu"><a href="http://www.csdn.net/company/about.html" target="_blank">公司简介</a><span>|</span><a href="http://www.csdn.net/company/recruit.html" target="_blank">招贤纳士</a><span>|</span><a href="http://www.csdn.net/company/marketing.html" target="_blank">广告服务</a><span>|</span><a href="http://www.csdn.net/company/contact.html" target="_blank">联系方式</a><span>|</span><a href="http://www.csdn.net/company/statement.html" target="_blank">版权声明</a><span>|</span><a href="http://www.csdn.net/company/layer.html" target="_blank">法律顾问</a><span>|</span><a href="mailto:webmaster@csdn.net">问题报告</a><span>|</span><a target="_blank" href="http://www.csdn.net/friendlink.html">合作伙伴</a><span>|</span><a href="http://bbs.csdn.net/forums/Service" target="_blank">论坛反馈</a></dd><dd class="foot_contact"><a href="javascript:void(0);" target="_blank" class="qq">网站客服</a><a href="http://wpa.qq.com/msgrd?v=3&uin=2251809102&site=qq&menu=yes" target="_blank" class="qq">杂志客服</a><a href="http://e.weibo.com/csdnsupport/profile" target="_blank" class="weibo">微博客服</a><a href="mailto:webmaster@csdn.net" class="email" title="联系邮箱">webmaster@csdn.net</a><span class="phone" title="服务热线">400-660-0108</span><span class="interval">|</span><span>北京创新乐知信息技术有限公司 版权所有</span><span class="interval">|</span><span>江苏知之为计算机有限公司</span><span class="interval">|</span><span>江苏乐知网络技术有限公司</span></dd><dd class="foot_copyright"><span>京 ICP 证 09002463 号</span><span class="interval">|</span><span>Copyright © 1999-2017, CSDN.NET, All Rights Reserved </span><a href="http://www.hd315.gov.cn/beian/view.asp?bianhao=010202001032100010" target="_blank"><img src="http://c.csdnimg.cn/pubfooter/images/gongshang_logos.gif" alt="GongshangLogo" title=""></a></dd></dl></div></div><div id="note1" class="csdn_note" style="display:none; position:absolute; z-index:9999; width:440px">  <span class="notice_top_arrow"><span class="inner"></span></span>  <div class="box"></div></div><div class="csdn_notice_tip" style="display: none; position: absolute; z-index: 9990; width: 170px; left: -72px; top: 18px;">  <iframe src="about:blank" frameborder="0" scrolling="no" style="z-index:-1;position:absolute;top:0;left:0;width:100%;height:100%;background:transparent"></iframe>  <div class="tip_text">您有<strong>0</strong>条新通知</div>  <a href="javascript:void 0" class="close2"></a></div><script id="noticeScript" type="text/javascript" btnid="header_notice_num" wrapid="note1" count="5" subcount="5" src="//csdnimg.cn/rabbit/notev2/js/notify.js?9d86d94"></script><input type="hidden" id="aa_g_data_ids" value="17864657|14991723|14961701|14955592|14670603|">
        
    <script type="text/javascript" src="http://c.csdnimg.cn/blog/csdn_public_blog_detail.min.js?20170719001"></script>

    <script type="text/javascript" src="http://medal.blog.csdn.net/showblogmedal.ashx?blogid=231202"></script>

     
    


  <div id="a52b5334d" style="width: 1px; height: 1px; display: none;">
                    <script id="adJs52b5334" src="http://ads.csdn.net/js/opt/52b5334.js?t=0.416427422558318"></script>
                    <script>document.getElementById("adJs52b5334").src = "http://ads.csdn.net/js/opt/52b5334.js?t=" + Math.random();</script>
   </div>

    
    
        
     

    
          
    <div class="pop_CA_cover" style="display:none"></div>
    <div class="pop pop_CA" style="display:none">
          <div class="CA_header">
            收藏助手
            <span class="cancel_icon" id="fapancle" onclick="$('.pop_CA').hide();$('.pop_CA_cover').hide();"></span>
          </div>
          <iframe src="" id="fa" frameborder="0" width="100%" height="360" scrolling="no"></iframe>
    </div>


        <script type="text/javascript">

            $(function () {
                var fromjs = $("#fromjs");
                if (fromjs.length > 0) {
                    $("#fromjs .markdown_views pre").addClass("prettyprint");
                    prettyPrint();

                    $('pre.prettyprint code').each(function () {
                        var lines = $(this).text().split('\n').length;
                        var $numbering = $('<ul/>').addClass('pre-numbering').hide();
                        $(this).addClass('has-numbering').parent().append($numbering);
                        for (i = 1; i <= lines; i++) {
                            $numbering.append($('<li/>').text(i));
                        };
                        $numbering.fadeIn(1700);
                    });

                    $('.pre-numbering li').css("color", "#999");
                }
            });

            $(".markdown_views a[target!='_blank']").attr("target", "_blank");

            //$(".toc a[target='_blank']").attr("target", "");

            setTimeout(function () {
                $(".toc a[target='_blank']").attr("target", "");
            }, 500);

        </script>
         <script>
             (function () {
                 var src = (document.location.protocol == "http:") ? "http://js.passport.qihucdn.com/11.0.1.js?4fab7a49dfbf966e11407045171584f2" : "https://jspassport.ssl.qhimg.com/11.0.1.js?4fab7a49dfbf966e11407045171584f2"; var scriptEle = document.createElement('script'); scriptEle.src = src; document.body.appendChild(scriptEle);
             }
             )();
</script><script src="http://js.passport.qihucdn.com/11.0.1.js?4fab7a49dfbf966e11407045171584f2"></script>


   
<div id="mask_code"></div><div class="gist_edit"><div class="save_snippets clearfix"><div class="tit"><h3>保存代码片</h3><span>整理和分享保存的代码片,请访问<a href="https://code.csdn.net/snippets_manage" target="_blank">代码笔记</a></span></div><div class="con_form"><ul class="gist_edit_list clearfix"><li><span class="red">*</span><span class="txt">标题</span><input id="form_title" class="form-input" placeholder="Python常用库大全" type="text"></li><li><span class="red">*</span><span class="txt">描述</span><textarea id="form-textarea" class="form-textarea" placeholder="Python常用库大全: http://blog.csdn.net/itcastcpp/article/details/76602073"></textarea></li><li><span class="red"> </span><span class="txt">标签</span><div id="divSearchTags"><input id="insertTag" class="insertTag" placeholder="请输入标签,按Enter生成(最多5项)" type="text" value="" name="insertTag" maxlength="21" style="color: rgb(51, 51, 51);"><input id="OrganTag" class="OrganTag" type="hidden" name="OrganTag" value=""><input id="OldOrganTag" class="OldOrganTag" type="hidden" name="OldOrganTag" value=""><input type="hidden" name="txtSearchTags"></div></li></ul></div><div class="bottom-bar"><a href="javascript:;" class="btn-submit btn-cancel">取消</a><span class="tracking-ad" data-mod="popu_250"><a class="btn-submit btn-confirm" href="javascript:;" target="_blank">确定</a></span></div></div></div><link rel="stylesheet" type="text/css" media="screen" href="http://ask.csdn.net/assets/ask_float_fonts_css-6b30a53970eb5c3a2a045e3df585b475.css"><div data-mod="popu_64" class="csdn-tracking-statistics" chg-blk="0"><a id="com-quick-QRcode" class="QRcodebg1" title="扫描二维码" style="top:338px"><span class="closeQR"></span></a><a id="com-quick-reply" title="快速回复" style="top:472px"></a><a id="com-quick-collect" title="我要收藏" style="top:510px"></a><a id="com-d-top-a" style="top: 548px; display: none;" title="返回顶部" onclick=""></a></div><div class="pop_edit ask_second comm_ask_second"><h3>提问</h3><span class="ask_float_span">您的问题将会被发布在“<a class="ask_float_channel" href="//ask.csdn.net" target="_blank" style="cursor:pointer">技术问答</a>”频道</span><a href="#" nodetype="close" class="close">×</a><div class="context"><div class="err_div"><span class="err_ico"></span><span class="err_txt">该问题已存在,请勿重复提问</span></div><div class="input_div"><input id="askInputSecond" type="text" style="font-size:14px;" placeholder="问题标题"></div><div class="cm_box"><div class="cm_dialog"></div> <div class="pop_cm cm_add_link"><input type="text" placeholder="链接内容" id="af_cm_link_txt"><input type="text" placeholder="链接地址" id="af_cm_link_url"><input type="text" placeholder="链接提示" id="af_cm_link_tit"><div class="text-right"><span class="btn btn-default btn-sm" id="add_link_btn">插入链接</span> </div> </div><div class="pop_cm cm_add_img"><div class="nav-tabs"><a class="img_tab active" href="#tab_upload">本地上传</a><a class="img_tab" href="#tab_weburl">网络图片</a></div><div class="tab_panel active" id="tab_upload"><div class="set_img"></div></div><div class="tab_panel" id="tab_weburl"><input type="text" placeholder="图片地址" id="af_cm_img_url"><input type="text" placeholder="图片说明" id="af_cm_img_alt"><div class="text-right"><span class="btn btn-default btn-sm" id="add_img_btn">插入图片</span> </div></div> </div></div> <textarea id="editor_all" rows="8" style="display: none;"></textarea><div class="editor-toolbar"><i class="separator">|</i><a class="icon-headline" title="标题一(Ctrl+Alt+1)"></a><a class="icon-heading" title="标题二(Ctrl+Alt+2)"></a><a class="icon-bold" title="粗体(Ctrl+B)"></a><a class="icon-italic" title="斜体(Ctrl+I)"></a><i class="separator">|</i><a class="icon-quote-left" title="引用(Ctrl+’)"></a><a class="icon-code" title="插入代码片(Ctrl+,)"></a><a class="icon-list-ul" title="无序列表(Ctrl+L)"></a><a class="icon-list-ol" title="有序列表(Ctrl+Alt+L)"></a><i class="separator">|</i><a class="icon-link" title="添加链接(Ctrl+K)"></a><a class="icon-picture" title="添加图片(Ctrl+Alt+I)"></a><i class="separator">|</i><a class="icon-reply" title="撤退(Ctrl+Z)"></a><a class="icon-share-alt" title="前进(Ctrl+Shift+Z)"></a><i class="separator">|</i><a class="icon-info" href="http://ask.csdn.net/pages/markdown" target="_blank" title="markdown语法参考"></a><a class="icon-preview" title="预览"></a><i class="separator">|</i></div><div class="CodeMirror cm-s-paper CodeMirror-focused"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; padding: 0px; width: 1000px; height: 1em; outline: none; font-size: 4px;"></textarea></div><div class="CodeMirror-hscrollbar"><div style="height: 1px;"></div></div><div class="CodeMirror-vscrollbar"><div style="width: 1px;"></div></div><div class="CodeMirror-scrollbar-filler"></div><div class="CodeMirror-gutter-filler"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="min-width: 33px;"><div style="position: relative;"><div class="CodeMirror-lines"><div style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre> <span style="display: inline-block; width: 1px; margin-right: -1px;"> </span></pre></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code"></div><div class="CodeMirror-cursor" style=""> </div><div class="CodeMirror-cursor CodeMirror-secondarycursor" style=""> </div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px;"></div><div class="CodeMirror-gutters" style="display: none;"></div></div></div><div class="editor-statusbar"><span class="lines">0</span><span class="words">0</span><span class="cursor">0:0</span></div><div class="div_tags clearfix"><div id="divSearchTags" class="tags_con"><input type="text"></div><input type="hidden" name="txtSearchTags"></div><div id="ask2_tagRecomm_div" class="drt_tagRecomm tracking-ad" data-mod="popu_73"><span class="drt_tit">推荐标签:</span></div></div><div class="success"><div class="left_area"><input id="chk_cb" type="checkbox"><span class="wyxs">我要悬赏</span><input id="cb_num" class="cb_num" readonly="true"><span class="phib_rii"><span> 币</span></span></div><a href="#" nodetype="cancel" class="cancel">取消</a><a href="#" nodetype="ok" class="ok">发布</a></div></div><div id="common_ask_div_sc" class="searchContainer"><div class="sTitle">可能存在类似的问题:</div><div class="sFooter"><a class="sFirstNewAsk">我想提一个新问题</a></div></div><div style="position:fixed; top:0; left:0; overflow:hidden;"><input style="position:absolute; left:-300px;" type="text" value="" id="focus_retriever" readonly="true"></div><embed id="xunlei_com_thunder_helper_plugin_d462f475-c18e-46be-bd10-327458d045bd" type="application/thunder_download_plugin" height="0" width="0"><div id="tag-suggest-pop">
  <div class="relative">
    <div class="close"></div>
    <div class="content"></div>
  </div>
</div></body></html>




0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1885次
    • 积分:74
    • 等级:
    • 排名:千里之外
    • 原创:5篇
    • 转载:6篇
    • 译文:0篇
    • 评论:1条
    文章分类
    文章存档
    最新评论