定義代碼如下importredisimportcontextlibimportpickleimportos,socket,threadingclassRedisLock:def__init__(self,lock_name,host='',port=6379,db=0):self.lock_name=lock_nameself.redis=redis.Redis(connection_pool=redis.ConnectionPool(host=host,
系統(tǒng) 2019-09-27 17:47:19 1994
AES(英文:AdvancedEncryptionStandard,中文:高級加密標準),是一種區(qū)塊加密標準。AES將原始數(shù)據(jù)分成多個4×4字節(jié)矩陣來處理,通過預(yù)先定義的密鑰對每個字節(jié)矩陣中的每個字節(jié)進行異或、替換、移位以及線性變換操作來達到加密的目的。密鑰長度可以是128,192或256比特。下面是一個利用PythonM2Crypto庫,并使用aes_128_ecb算法進行加密和解密的例子。首先介紹一下幾個關(guān)鍵的點:1、iv(Initialization
系統(tǒng) 2019-09-27 17:47:10 1994
什么是生成器?可以理解為一種數(shù)據(jù)類型,這種數(shù)據(jù)自動實現(xiàn)了迭代器協(xié)議(其他數(shù)據(jù)類型需要調(diào)用自己內(nèi)置的_iter_方法),所以生成器就是可迭代對象python提供生成器的兩種表現(xiàn)形式:1.生成器函數(shù):常規(guī)函數(shù)的定義,但是,使用yield語句而不是return語句返回結(jié)果。yield語句一次返回一個結(jié)果,在每個結(jié)果中間,掛起函數(shù)的狀態(tài),以便下次從它離開的地方繼續(xù)執(zhí)行。**函數(shù)里有yiled,執(zhí)行函數(shù)就是一個生成器,不管yield位置在哪。采集函數(shù)創(chuàng)建生成器時,如
系統(tǒng) 2019-09-27 17:46:40 1994
flush()方法刷新內(nèi)部緩沖區(qū),像標準輸入輸出的fflush。這類似文件的對象,無操作。Python關(guān)閉時自動刷新文件。但是可能要關(guān)閉任何文件之前刷新數(shù)據(jù)。語法以下是flush()方法的語法:fileObject.flush();參數(shù)NA返回值此方法不返回任何值。例子下面的例子顯示了flush()方法的使用。#!/usr/bin/python#Openafilefo=open("foo.txt","wb")print"Nameofthefile:",fo
系統(tǒng) 2019-09-27 17:46:31 1994
FTP一般流程FTP對應(yīng)PASV和PORT兩種訪問方式,分別為被動和主動,是針對FTP服務(wù)器端進行區(qū)分的,正常傳輸過程中21號端口用于指令傳輸,數(shù)據(jù)傳輸端口使用其他端口。PASV:由客戶端發(fā)起數(shù)據(jù)傳輸請求,服務(wù)器端返回并攜帶數(shù)據(jù)端口,并且服務(wù)器端開始監(jiān)聽此端口等待數(shù)據(jù),為被動模式;PORT:客戶端監(jiān)聽端口并向服務(wù)器端發(fā)起請求,服務(wù)器端主動連接此端口進行數(shù)據(jù)傳輸,為主動模式。其中TYPE分兩種模式,I對應(yīng)二進制模式、A對應(yīng)ASCII模式;PASV為客戶端發(fā)送
系統(tǒng) 2019-09-27 17:46:25 1994
一、《新時代中國特色社會主義》的詞云1、直接上代碼:importjieba,wordcloudf=open("./data/新時代中國特色社會主義.txt","r",encoding="utf-8")#打開文件t=f.read()#讀取文件f.close()#關(guān)閉文件ls=jieba.lcut(t)#分詞txt="".join(ls)#將分好的詞用空格串起來#配置參數(shù)#width:指定詞云對象生成圖片的寬度,默認400像素#height:指定詞云對象生成圖
系統(tǒng) 2019-09-27 17:45:38 1994
mysql是一個優(yōu)秀的開源數(shù)據(jù)庫,它現(xiàn)在的應(yīng)用非常的廣泛,因此很有必要簡單的介紹一下用python操作mysql數(shù)據(jù)庫的方法。python操作數(shù)據(jù)庫需要安裝一個第三方的模塊,在http://mysql-python.sourceforge.net/有下載和文檔。由于python的數(shù)據(jù)庫模塊有專門的數(shù)據(jù)庫模塊的規(guī)范,所以,其實不管使用哪種數(shù)據(jù)庫的方法都大同小異的,這里就給出一段示范的代碼:#-*-encoding:gb2312-*-importos,sys,
系統(tǒng) 2019-09-27 17:38:41 1994
字典由多個鍵及與其對應(yīng)的值構(gòu)成的對組成(把鍵值對成為項),每個鍵和它的值之間用冒號(:)隔開,項之間用逗號(,)隔開,而整個字典由一對大括號括起來。空字典由兩個大括號組成:{}dict函數(shù)可以用dict函數(shù),通過其他映射或者(鍵,值)這樣的序列對建立字典復(fù)制代碼代碼如下:>>>items=[('name','Gumby'),('age',42)]>>>d=dict(items)>>>d{'age':42,'name':'Gumby'}>>>d['name'
系統(tǒng) 2019-09-27 17:38:11 1994
目的將一個字符轉(zhuǎn)化為相應(yīng)的ASCII或Unicode碼,或相反的操作。方法對于ASCII碼(0~255范圍)復(fù)制代碼代碼如下:>>>printord('A')65>>>printchr(65)A對于Unicode字符,注意僅接收長度為1的Unicode字符復(fù)制代碼代碼如下:>>>printord(u'\u54c8')21704>>>printunichr(21704)哈>>>printrepr(unichr(21704))u'\u54c8'chr()和st
系統(tǒng) 2019-09-27 17:38:01 1994
之前博客有用logstash-input-jdbc同步mysql數(shù)據(jù)到ElasticSearch,但是由于同步時間最少是一分鐘一次,無法滿足線上業(yè)務(wù),所以只能自己實現(xiàn)一個,但是時間比較緊,所以簡單實現(xiàn)一個思路:網(wǎng)上有很多思路用什么mysql的binlog功能什么的,但是我對mysql了解實在有限,所以用一個很呆板的辦法查詢mysql得到數(shù)據(jù),再插入es,因為數(shù)據(jù)量不大,而且10秒間隔同步一次,效率還可以,為了避免服務(wù)器之間的時間差和mysql更新和查詢產(chǎn)生
系統(tǒng) 2019-09-27 17:37:40 1994