原创 RSA簽名驗籤、加密解密,基於Python2下的Crypto

 一、簽名和驗籤 # -*- coding: utf-8 -*- import base64 from Crypto import Random from Crypto.Hash import SHA from Crypto.Publi

原创 Django的ORM中使用CASE-THEN-ELSE子句批量過濾更新數據的方法

最近有一個新的需求場景,需要根據不同的過濾條件修改數據爲相應的內容,比如id=n時修改name='name_n'。大量的這種操作肯定需要批量處理,否則一條一條修改效率是很低的。Mysql中可以使用CASE-THEN-ELSE子句實現這樣的

原创 常用3602漢字表

一乙二十丁廠七卜人入八九幾兒了力乃刀又三於幹虧士工土才寸下大丈與萬上小口巾山千乞川億個勺久凡及夕丸麼廣亡門義之屍弓己已子衛也女飛刃習叉馬鄉豐王井開夫天無元專雲扎藝木五支廳不太犬區歷尤友匹車巨牙屯比互切瓦止少日中岡貝內水見午牛手毛氣升長仁什

原创 Django中自定義限制訪問頻率的反爬蟲中間件

一、安裝用到的Python庫 pip install geoip2 redis django-redis 二、下載IP地理位置數據庫,保存到項目根目錄下  鏈接: https://pan.baidu.com/s/1TaSQcgw4Oim

原创 Mysql佔用磁盤空間分析

最近服務器的磁盤佔用率達到報警閥值了,排查後發現是Mysql佔了很多空間,參考下面的文章進行了磁盤空間分析,這裏備忘一下。 使用df和du命令查看文件系統中目錄佔用磁盤空間的大小:https://www.cnblogs.com/zhuil

原创 sqlalchemy動態定義表模型,以及帶來的內存泄露問題的解決

一、表模型動態定義方法 最近遇到一個需求場景,需要在mysql中動態生成存儲日誌數據的表。我使用的數據庫ORM是sqlalchemy,經過查閱文檔,找到了如下的實現方法,需要的朋友可以拿去用了,注意查看註釋哦。 #!/usr/bin/e

原创 用gunicorn提高Django的併發能力

Django提供了自帶的runserver命令啓動服務,這種方式一般用於開發環境以便於調試程序,併發量比較小的時候也是可以應對的,但是併發量超過這種方式的承載能力時,就需要使用gunicorn啓動Django的服務來提高併發能力了。 一、

原创 tornado使用持久連接,保持一定的連接數,實現端口複用的方法

 一、應用場景和實現方法  最近遇到一個與對端交互的特殊場景,對端限制了單個IP的端口連接數量。 如果我頻繁的打開和關閉TCP連接,只保證連接的數量小於限定值,對我來說,TCP連接已經關閉,端口也回收了,但是對方的端口還是識別爲被佔用的狀

原创 自定義python多進程下可用的TimedRotatingFileHandler,解決使用logging模塊寫日誌衝突問題

如題,解決多進程寫日誌衝突的問題,用法和logging模塊原生的TimedRotatingFileHandler一樣,但是不支持按星期保留日誌,也不支持utc參數,需要的老鐵可以自己定製。 需要注意的是這裏沒有使用進程鎖,打開文件必須使用

原创 獲取scrapy的請求隊列操作及隊列處理完畢後sleep並重啓爬蟲

一、源碼分析 Scrapy默認爬蟲引擎是scrapy.core.engine.ExecutionEngine,其中的_next_request函數負責從調度器的隊列中取得下一個Request對象進行處理,處理完後會調用spider_is_

原创 使用Python生成大文件的md5,可用於文件分塊傳輸的校驗

 包含了大文件安全讀取的方法,md5對象的轉換和存儲方法,示例如下: import rehash import pickle import base64 file_path = '' # 文件路徑 file_hash = reha

原创 python使用PIL模塊檢查圖片內容和格式是否正常,包括圖片的字節流轉換爲圖片的方法

驗證圖片是否能正常讀取、打開,然後校驗圖片內容,輸出檢測到的圖片格式。 1. 校驗可直接打開的文件 from PIL import Image try: image = Image.open('fire.jpg') # 檢查

原创 Python3批量發送郵件,支持smpt的ssl驗證,支持163和outlook郵箱,可發送html格式和附件,使用asyncio和線程池實現併發並行

最近我們的服務需要批量發送郵件,先後試過了163郵箱和outlook企業郵箱,還是後者比較穩定。寫完以後把代碼整理成了一個腳本,如下所示,喜歡的客官可以拿去用了,有問題歡迎流言交流。 import io import ssl impor

原创 ubuntu使用雙模機械師K7機械鍵盤遇到的問題

最近買了個機械師K7的雙模機械鍵盤,可以使用數據線連接,也可以使用藍牙連接,但因爲我平時使用ubuntu開發,鍵盤與系統的適配方面遇到了點問題,記錄下解決方法來方便其他人蔘考。 問題1:有線連接模式,F1到F12鍵只能使用多媒體功能,就算

原创 deepin.com.wechat羣聊@人列表不顯示,啓動器圖標異常

啓動器圖標異常 在默認情況下,Linux系統是根據可執行文件的名稱判定是屬於哪個desktop文件配置的,大部分desktop文件的Exec配置的可執行文件剛好就是實際執行的文件名,所以很多沒有StartupWMClass配置項。 但是這