原创 Python super()深度思考

如果你不曾被Python的內置super()函數所折服,很可能是你不知道它能夠做什麼,或者如何有效地使用它。 很多文章寫過super(),但是很多寫的是錯的。此文試着在以下方面進行提高: 提供實際用例 給一個它如何工作的清楚的模型 顯示每

原创 爲什麼在C++中需要虛函數

我自己是一個C++新手,這裏是我對什麼事虛函數,以及爲什麼我們需要它的理解: 我們有這樣兩個類: class Animal { public: void eat() { std::cout << "I'm eating generic f

原创 pytest skip函數

在實際工作中,經常需要skip過某個test case,比如現階段某個feature還沒有開發完畢,但是先把test cases寫到了pytest中,因此需要先把這個test case給skip掉。所以skip在pytest中有很大的用途

原创 swig使用介紹

swig是Simplified Wrapper and Interface Generator的簡稱,它是一個能將C和C++的程序與其他各種高級語言諸如Perl,Python,Ruby和Tcl進行連結的開發工具。 swig的官方中文網站:

原创 Fixture終結/執行tear down代碼

pytest支持當fixture跑出它的範圍時執行指定的終結代碼。通過接受一個request對象到你的fixture函數,你可以調用它的request.addfinalizer一次或多次。 # content of conftest.p

原创 從多個表中檢索記錄

你把記錄放在數據庫中並沒有什麼好處,除非你從中檢索它們,並對它們進行處理。這就是SELECT語句的目的--幫助你獲得你的數據。SELECT可能是SQL語句中使用最頻繁的語句了,但是它也可能是最需要技巧的一個;你選擇使用的限制條件可能很複雜

原创 查看進程id命令pidof

pidof命令的作用是顯示指定程序的進程id。 比如我想要知道當前vim進程的id,那麼我就可以用pidof vim來得到進程id。如下所示: fengxi@ubuntu:~/C/linux_c/section5$ pidof vim 4

原创 awk getline命令解析

getline命令是我個人認爲awk最強大的一個命令。因爲它徹底改變了awk的運行邏輯。awk本質上就是一個for循環,它每次對輸入文件的一行進行處理,然後轉而執行下一行,直到整個文件的每一行都被執行完畢。整個過程是自動的,你無需做什麼。

原创 awk 隨機數函數

awk自帶的隨機數生成函數rand()可以產生一個介於0到1之間的隨機數。但是絕對不會返回0或者1。 srand(n)函數 srand(n)通過給定的參數n來初始化隨機數生成。當程序開始執行時,awk根據種子n開始生成隨機數。如果沒有提供

原创 Python write模式導致的bug

今天遇到一個因爲寫文件模式不正確導致的一個bug。因爲這個bug很難被發現,所以我覺得有必要將這一個bug記錄下來,往後再有使用write()函數的時候,就得小心,究竟是模式爲"w",還是"wb"呢。 簡單說一下問題。有一個文件有很多行,

原创 如何利用sorted函數對列表,元組或者對象進行排序

Python中對一個列表或者元組進行排序是很簡單的!既然元組基本上可以認爲是一個不可以修改的數組,我們幾乎可以將其視爲一個列表。 對Python列表排序的最簡單的方式 如果你只是想對一個數字列表進行排序,Python內置的函數可以幫你實現

原创 line ending對AWK print的影響

今天用awk的print想按照我想要的格式去打印,我的命令爲: awk 'BEGIN{ORS="\n"} {if(NR<30){print $0, "hello"}}' payload.xml由於payload.xml的數據過多,我

原创 awk參數處理

awk使用ARGC和ARGV來在命令行中傳入一些變量到awk腳本中。其中: ARGC包含傳入awk腳本的參數的總數目ARGV爲一個包含所有傳入awk腳本的參數的數組,該數組下標從0到ARGC-1。當你傳入5個參數,ARGC的值爲6ARG

原创 Linux 監控內存,CPU,負載,硬盤等小結

1. 監控內存 vmstat 如下是執行vmstat後的輸出: fengxi@ubuntu:~/bash$ vmstat procs -----------memory---------- ---swap-- -----io---- -

原创 動態規劃學習

1,最長子數組問題 dp[i]表示以A[i]結尾的最大子數組的和。這種情況下有兩種可能,一、dp[i]只包含A[i];二、dp[i]不只包含A[i],也包含前面的一些數字,至少要包含A[i-1],這種情況下,dp[i]=dp[i-1]+A