目的:很多時候,我們需要多個不同策略去完成一個任務,那個插件架構是很好一個選擇。而每一個策略,不希望一個個去執行,還能實時上報數據,所以每一個插件都是異步執行,把每一個插件結果回調方法實時上報,然后寫入數據。線程工具類#app/MyThread.pyimportthreadingclassMyThread(threading.Thread):def__init__(self,func,**kwargs):threading.Thread.__init__(
系統 2019-09-27 17:46:01 1984
Python數據結構與算法(幾種排序)數據結構與算法(Python)冒泡排序冒泡排序(英語:BubbleSort)是一種簡單的排序算法。它重復地遍歷要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。遍歷數列的工作是重復地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個算法的名字由來是因為越小的元素會經由交換慢慢“浮”到數列的頂端。冒泡排序算法的運作如下:比較相鄰的元素。如果第一個比第二個大(升序),就交換他們兩個。對每一對相鄰元素
系統 2019-09-27 17:45:58 1984
了解http協議http請求頭GET/HTTP/1.1Host:www.baidu.comConnection:keep-alivePragma:no-cacheCache-Control:no-cacheUpgrade-Insecure-Requests:1User-Agent:Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/76.0.3809.1
系統 2019-09-27 17:45:46 1984
目錄一、執行Python程序的兩種方式1.1交互式1.2命令行式二、執行Python程序的兩種IDE2.1Pycharm2.2Jupyter一、執行Python程序的兩種方式1.1交互式在終端內輸入python3,然后輸入python代碼1.2命令行式在終端內輸入python3文本文件路徑二、執行Python程序的兩種IDE2.1Pycharmhttps://www.cnblogs.com/nickchen121/p/10722733.html2.2Jup
系統 2019-09-27 17:45:26 1984
利用python自動生成dockernginx反向代理配置由于在測試環境上用docker部署了多個應用,而且他們的端口有的相同,有的又不相同,數量也比較多,在使用jenkins發版本的時候,不好配置,于是想要寫一個腳本,能在docker容器創建、停止的時候,自動生成nginx反向代理,然后reloadnginx我的原則是盡量簡單,輕量,內存占用少目標很明確,只要能監聽到docker的容器啟動/停止事件,即可網上查了一下可以用dockerevents來監聽d
系統 2019-09-27 17:38:32 1984
Django的QuerySets酷斃了!在本文中我將解釋一下QuerySets是什么,它是如何工作的(如果你對它已經熟悉了,你可以直接跳到第二部分),我認為如果可以的話你應該總是返回QuerySets對象,下面讓我來談談如何做。QuerySets很酷QuerySet,本質上是一個給定的模型的對象列表。我說“列表”而不是“組”或更正式的“集合”因為它是有序的。事實上,你可能已經熟悉如何獲得QuerySets,因為這就是你調用variousBook.objec
系統 2019-09-27 17:38:24 1984
Python變量類型變量存儲在內存中的值。這就意味著在創建變量時會在內存中開辟一個空間。基于變量的數據類型,解釋器會分配指定內存,并決定什么數據可以被存儲在內存中。因此,變量可以指定不同的數據類型,這些變量可以存儲整數,小數或字符。變量賦值Python中的變量不需要聲明,變量的賦值操作既是變量聲明和定義的過程。每個變量在內存中創建,都包括變量的標識,名稱和數據這些信息。每個變量在使用前都必須賦值,變量賦值以后該變量才會被創建。等號(=)用來給變量賦值。等號
系統 2019-09-27 17:38:21 1984
一般開發過游戲的都知道Lua和C++可以很好的結合在一起,取長補短,把Lua腳本當成類似動態鏈接庫來使用,很好的利用了腳本開發的靈活性。而作為一門流行的通用型腳本語言Python,也是可以做到的。在一個C++應用程序中,我們可以用一組插件來實現一些具有統一接口的功能,一般插件都是使用動態鏈接庫實現,如果插件的變化比較頻繁,我們可以使用Python來代替動態鏈接庫形式的插件(堪稱文本形式的動態鏈接庫),這樣可以方便地根據需求的變化改寫腳本代碼,而不是必須重新
系統 2019-09-27 17:37:46 1984
我的操作系統為centos6.51首先選擇django要使用什么數據庫。django1.10默認數據庫為sqlite3,本人想使用mysql數據庫,但為了測試方便順便要安裝一下sqlite開發包。yuminstallmysqlmysql-devel#為了測試方便,我們需要安裝sqlite-devel包yuminstallsqlite-devel2接下來需要安裝Python了,因為Python3已經成為主流,所以接下來我們要安裝Python3,到官網去下載P
系統 2019-09-27 17:37:45 1984
1.使用測量工具,量化性能才能改進性能,常用的timeit和memory_profiler,此外還有profile、cProfile、hotshot等,memory_profiler用了psutil,所以不能跟蹤cpython的擴展;2.用C來解決費時的處理,c是效率的代名詞,也是python用來解決效率問題的主要途徑,甚至有時候我都覺得python是c的完美搭檔。常用的是Cython,直接把py代碼c化然后又能像使用py包一樣使用,其次是ctypes,效
系統 2019-09-27 17:37:43 1984