原创 在flask-restplus下統一接口返回格式

背景 在使用flask+flask-restplus時,業務正常時接口函數返回一個可以json序列化的對象 @ns.route('/hello') class Hello(Resource): def get(self):

原创 python讀取未知編碼文件

python讀取未知編碼文件背景測試文件說明使用chardet模塊來檢測編碼小文件的編碼檢測大文件的編碼檢測結合檢測編碼和讀取內容參考文檔 背景 在開發日誌分析功能時,需要讀取不同編碼的文件然後對文件內容進行解析,那麼首先要解決的

原创 用python的difflib模塊比較文本序列

需求背景 我們需要定時採集一些配置文件的內容,每次採集之後和上一次採集的內容進行比較,將按行爲單位的變更記錄持久化到數據庫中。 這樣做的好處是可以隨時來查看這些變更記錄,我們可以知道在什麼時候進行了哪些變更,可以比較方便的分析出哪些變更影

原创 python:關於super

python2和python3中使用super的區別 super只能用在新式類中。在python3中的所有類都是新式類,而在python2繼承object的纔是新式類。 # python3 class A: pass

原创 flask-socketio配置websocket步驟

Flask-SocketIO異步服務的選擇 Flask-SocketIO模塊所依賴的異步服務有3個選擇 eventlet是性能最好的選項,並支持長輪詢和WebSocket傳輸 gevent支持許多不同的配置。gevent支持長輪詢,但不像

原创 在flask中同步調用task函數的問題

問題介紹 爲方便理解,簡單說明一下項目,項目中使用的依賴模塊有:flask,flask-sqlalchemy,flask-celery等等。 在同步方式調用task函數的時候出現了DetachedInstanceError的異常。出錯的代

原创 python:MRO的計算方式

我們都已經知道,Python 3(Python 2 的新式類)中多繼承模式是使用 C3 算法來確定 MRO(Method Resolution Order) 的。 下面就講解C3算法具體是怎麼計算的。 MRO計算規則 首先來定義一些符號:

原创 python對象池

python對象池 python中,一切皆爲對象 id方法的返回值就是對象的內存地址。 is運算符,如果引用的是同一個對象則返回true,x is y類似 id(x) == id(y)  小整數對象池 [-5, 256] 這些小整數被定義

原创 python垃圾回收

引用計數 PyObject python裏每一個東西都是對象,它們的核心就是一個結構體:PyObject PyObject是每個對象必有的內容,其中ob_refcnt就是做爲引用計數。當一個對象有新的引用時,它的ob_refcnt就會增加

原创 理解websocket

OSI 模型與TCP/IP 開放式系統互聯通信參考模型(英語:Open System Interconnection Reference Model,ISO/IEC 7498-1),簡稱爲OSI模型。 分爲7層,分別爲爲:物理層,數據鏈路

原创 nginx的用途

Nginx是一個高性能的HTTP和反向代理服務器 反向代理 正向代理是讓一個代理替我們訪問目標服務器,然後將數據返回給我們,需要手動設置代理服務器的ip和端口號,可以用來訪問我們訪問不了的資源 反向代理是服務器接收客戶端請求後,轉發給內

原创 django基本命令

django基本命令 1. 新建一個 django project django-admin.py startproject project_name 2. 新建 app python manage.py startapp app_

原创 python內置裝飾器

python內置裝飾器有屬性(property),類方法(classmethod),靜態方法(staticmethod)   屬性(property) property可以將python定義的函數當做屬性訪問,從而提供更加友好訪問方式,但

原创 pygame飛機大戰遊戲

使用python的pygame模塊寫了一個窗口的飛機大戰遊戲,效果如圖。 使用上下左右控制,獲得藍色星星火力+20,黃色星星生命+1 以下是實現代碼,運行環境python3。 此代碼僅供學習與交流。請勿用於商業用途。 import

原创 python數據類型

python六大標準數據類型 Number(數字) String(字符串) List(列表) Tuple(元組) Set(集合) Dictionary(字典) 注意點: Number(數字)、String(字符串)、Tuple(元組)屬於