作者:HelloGitHub-ProdesireHelloGitHub的《講解開(kāi)源項(xiàng)目》系列,項(xiàng)目地址:https://github.com/HelloGitHub-Team/Article前言在前面三篇介紹argparse的文章中,我們?nèi)媪私饬薬rgparse的能力,相信不少小伙伴們都已經(jīng)摩拳擦掌,想要打造一個(gè)屬于自己的命令行工具。本文將以我們?nèi)粘9ぷ髦凶畛R?jiàn)的git命令為例,講解如何使用argparse庫(kù)來(lái)實(shí)現(xiàn)一個(gè)真正可用的命令行程序。本系列文章默認(rèn)
系統(tǒng) 2019-09-27 17:52:36 1758
前言剛開(kāi)始開(kāi)發(fā)Web的時(shí)候,沒(méi)太在意隔離虛擬環(huán)境,用了系統(tǒng)的那一套,Python2.7版本是系統(tǒng)自帶的,雖說(shuō)明年就結(jié)束了,但是現(xiàn)在開(kāi)發(fā)都會(huì)有一套3.x以上的環(huán)境,即使你開(kāi)發(fā)不注意,你部署的時(shí)候總歸是要隔離出來(lái)的。1.方便隔離,不同環(huán)境編寫測(cè)試2.方便遷移,pipfreeze到出包文件依賴,隨后提交管理和遷移都很方便virtualenv前提是你有兩套PythonmikejingdeMacBook-Pro:~MKJ$whichpython/usr/bin/py
系統(tǒng) 2019-09-27 17:52:34 1758
mkvirtualenv-ppython3環(huán)境名創(chuàng)建虛擬環(huán)境rmvirtualenv環(huán)境名刪除環(huán)境進(jìn)入虛擬環(huán)境workon環(huán)境名(workon+tab可以出來(lái)所有環(huán)境)查看環(huán)境下所有包pip3list查看環(huán)境下安裝的包(不包括原生python包)pip3freeze依賴包文件生成pip3freeze>requirements.txt環(huán)境導(dǎo)入依賴包pip3install-rrequirements.txt普通安裝pip3install包名這是linux下的指
系統(tǒng) 2019-09-27 17:52:34 1758
1.鎖:Lock(1次放1個(gè))同步鎖線程安全,多線程操作時(shí),內(nèi)部會(huì)讓所有線程排隊(duì)處理。如:list/dict/Queue線程不安全+人=>排隊(duì)處理。需求:a.創(chuàng)建100個(gè)線程,在列表中追加8b.創(chuàng)建100個(gè)線程v=[]鎖-把自己的添加到列表中。-在讀取列表的最后一個(gè)。解鎖以后鎖一個(gè)代碼塊:importthreadingimporttimev=[]lock=threading.Lock()deffunc(arg):lock.acquire()#鎖的區(qū)域---
系統(tǒng) 2019-09-27 17:52:33 1758
SymPy是符號(hào)數(shù)學(xué)的Python庫(kù)。它的目標(biāo)是成為一個(gè)全功能的計(jì)算機(jī)代數(shù)系統(tǒng),同時(shí)保持代碼簡(jiǎn)潔、易于理解和擴(kuò)展#coding:utf-8'''函數(shù)極限'''importsympysympy.init_printing()fromsympyimportI,pi,ooimportnumpyasnpx=sympy.Symbol('x')expr=sympy.sin(x)/xresult=sympy.limit(expr,x,0)print('limit:',r
系統(tǒng) 2019-09-27 17:52:24 1758
掃描服務(wù)器ip開(kāi)放端口,用線程池ThreadPoolExecutor,i7的cpu可以開(kāi)到600個(gè)左右現(xiàn)成,大概20s左右掃描完65535個(gè)端口,根據(jù)電腦配置適當(dāng)降低線程數(shù)#!/usr/local/python3.6.3/bin/python3.6#coding=utf-8importsocketimportdatetimeimportrefromconcurrent.futuresimportThreadPoolExecutor,waitDEBUG=Fa
系統(tǒng) 2019-09-27 17:52:19 1758
MongoDB是目前最流行的NoSQL數(shù)據(jù)庫(kù)之一,使用的數(shù)據(jù)類型BSON(類似JSON)。1.安裝Mongodb和pymongoMongodb的安裝和配置Mongodb的安裝教程請(qǐng)網(wǎng)上搜索,安裝完成后,進(jìn)行以下配置過(guò)程:1.1創(chuàng)建目錄,該目錄為Mongodb數(shù)據(jù)文件的存放目錄:*注:本人使用的不是root用戶,所以修改目錄的擁有者.*sudomkdir/datasudochown-Rpython:python/datamkdir/data/db1.2分別執(zhí)
系統(tǒng) 2019-09-27 17:52:16 1758
數(shù)據(jù)結(jié)構(gòu)作為計(jì)算機(jī)基礎(chǔ)的必修內(nèi)容,也是很多大型互聯(lián)網(wǎng)企業(yè)面試的必考題??上攵?,它在計(jì)算機(jī)領(lǐng)域的重要性。然而很多計(jì)算機(jī)專業(yè)的同學(xué),都僅僅是了解數(shù)據(jù)結(jié)構(gòu)的相關(guān)理論,卻無(wú)法用代碼實(shí)現(xiàn)各種數(shù)據(jù)結(jié)構(gòu)。今日整理了一份常見(jiàn)數(shù)據(jù)結(jié)構(gòu)的Python實(shí)現(xiàn),希望大家能夠參考代碼,親自動(dòng)手通過(guò)代碼實(shí)現(xiàn)各種數(shù)據(jù)結(jié)構(gòu),以鞏固知識(shí)加深理解。以下內(nèi)容整理于《Python實(shí)現(xiàn)各種常用算法》棧classStack(object):def__init__(self,limit=10):sel
系統(tǒng) 2019-09-27 17:52:13 1758
最近在工作中遇到一個(gè)問(wèn)題,就是有一個(gè)功能希望在各種服務(wù)器上實(shí)現(xiàn),而服務(wù)器上的系統(tǒng)版本可能都不一樣,有的是CentOS6.x,有的是CentOS7.x。需要說(shuō)明的一點(diǎn)是,CentOS6.x上的Python版本是2.6.x的,而CentOS7.x上的Python版本是2.7.x的,這意味著我要實(shí)現(xiàn)的功能要適配這兩種版本的系統(tǒng)。你可能會(huì)說(shuō),這有什么的,自己寫的時(shí)候,注意一下就好了。事情其實(shí)沒(méi)有那么容易,我要實(shí)現(xiàn)的功能是基于一個(gè)框架進(jìn)行定制,需要修改不少的框架代碼
系統(tǒng) 2019-09-27 17:51:50 1758
函數(shù)這么重要的東西自然少不了。那么在python中是怎么定義的呢?defcgg(name):print("haha%s"%name)def是定義的意思,而cgg是函數(shù)名,name是參數(shù)。當(dāng)然了,有了函數(shù)嗎,自然少不了函數(shù)的返回值。那么這里用的依然是return。defcgg(a,b):returna+b模塊一個(gè)小例子:importtimeprint(time.asctime())這個(gè)可以顯示現(xiàn)在的時(shí)間。而這個(gè)time就是一個(gè)模塊,包括之前的turtle也是
系統(tǒng) 2019-09-27 17:51:49 1758