需求:
想使用python建立乙個etl工具,其中頁面部分採用django框架,排程的顯示及控制通過web頁面進行操作。備註:由於當前並未建立etl工具,因此採用讀取系統任務列表來舉例。實現過程:因此排程的資料抽取、載入、儲存過程跑數過程需要實時(準實時)顯示處理記錄條數(進度),因此需要開發區域性重新整理頁面,以達到此效果。
2. 配置urls、templates目錄、static目錄及其下的js等內容 —— 步驟略。
3. 建立templates/index.html檔案,內容如下:
'''產生json資料並顯示在頁面中
args:
none
returns:
dict:
raises:
none
'''#通過popen命令執行cmd下的tasklist命令(windows中),在linux裡面對應是使用ps -ef命令
#下面以tasklist命令為例,如果是ps -ef命令,分隔符和行格式都要相應變化
p = popen(['tasklist'], stdin=pipe, stdout=pipe, stderr=pipe, shell=true)
#轉義unicode字串並且按行分割成臨時陣列
arr_temp = p.stdout.read().decode('gbk').split('\r\n')
col_len = #此陣列用於記錄每乙個列的寬度
total_col = len(arr_temp[2].split(" ")) #共有多少列(實際上就是5列)
for col in arr_temp[2].split(" "):
arr_p = #此陣列儲存最終的資料結果
for line in arr_temp[2:]:
if line != "": #跳過空行(首尾)
line_col = #每一行列資料的集合陣列
left = 0 #資料片段的左端點
right = 0 #資料片段的右端點,結合在一起用來切分line字串的
for i in range(total_col):
if i == 0:
left = 0
else:
left = right + 1
right = left + col_len[i]
jsondict = #生成json字典,形如:
jsondata = json.dumps(jsondict) #使用dumps方法格式化資料
後記:
1. 這種方式產生的計算壓力除了在使用者bownser重新整理,還有會在服務端產生執行指令碼的壓力,建議不要實時查詢資料庫,而是通過讀取檔案的形式生成json資料,而且調整大的時間間隔,避免頻繁呼叫產生的系統壓力。django模板中如何匯入js、css等外部檔案
android RecyclerView區域性重新整理
這種效果肯定是不行的,於是查了下資料,發現需要呼叫recyclerview的notifyitemchanged int position,object payload 的方法,這個payload需要傳乙個不為null的引數 引數值隨便填,只要不為null就行 mrecycleviewadapter....
IT人在供電局
最終選擇了回家供電局工作,從7月16日到人事部報到後,在人事部學了乙個星期的安規,期間計算機中心的主任和班長找了我們談話,給我們介紹了計算機中心的各種情況,給我們介紹了供電局的計算機中心的發展,主任用了一句話形容 我們都是摸著石頭,走過來的,你們的到來,給你們提供了乙個較好的平台,起碼知道我們供電局...
奇門起局分析
奇門遁甲的起局,應用拆補還是置閏好呢?這個說不清楚,但看起來,在占卜方面,並不是分別得很清楚,因為飛盤者有之,排盤者有之,拆補者有之,置閏者有之,說只有一種是對的吧,無論用哪種方法的都有高手,分析東西起來與事實分毫不差.這玩意看樣子弄不清楚了。定陰陽自古就沒有區別,冬至後一陽來復,自然是陽遁,夏至後...