Python
Python:常用的 OpenCV 指令
這裡簡單記錄自己在 Python 中常用的 OpenCV 指令。 Reading Image 利用 imread() 進行影像讀取。Opencv 讀圖都是採 BGR 格式。 src = "image.png" # 圖片的路徑 dst = cv2.imread(src) # bgr (3 channel) dst = cv2.imread(src, 0) # gray (1 channel) Showing Image 使用 imshow() 顯示影像。通常會配合 waitKey(0) 及 destroyAllWindows() 使用。 waitKey(0):等待使用者按下按鍵。 …
Python:設定 numpy 顯示矩陣的方式
前言 有時在使用 print() 顯示矩陣時,會發現螢幕上並不會全部顯示出來,甚至使用 write() 來儲存變數也會有一樣的問題,這時候就要利用 set_printoptions() 來設定 numpy 顯示的方式。 設定方式 set_printoptions 是全域設定。設完之後,除非關掉重開 Python,否則設定會一直持續存在。 numpy.set_printoptions(precision=None, threshold=None, edgeitems=None, linewidth=None, suppress=None, nanstr=None, infstr=None, …
Python 存下 print 的內容到文字檔
前言 在開發程式時,我們常會藉由 print() 來印出程式的結果,確保程式的執行過程沒問題,也可以藉由這種方式來 debug。 如果今天使用 Jupiter 筆記本來執行程式,程式的輸出是會自動保留下來,但如果今天是用其他方式執行的話,程式關掉,這些輸出也跟著消失了。 為了能夠保存終端上面的印出內容,我們可以借助一些模組來幫助我們存下要印出要印出的內容。 作法 那最近最常用的方式就是 redirect_stdout,廢話不說,先看程式 from contexlib import redirect_stdout with open("saveprint.txt", …
python re 正則化表達式搜尋
前言 如果說今天許多檔案的命名具有一定規則時,代表這些檔案是有一些關係存在,要是這些檔案數量超過好幾百、好幾千筆、甚至好幾萬筆,這些規則可以幫助我們快速找到資料。那要如何根據命名規則來快速篩選檔案呢?對於 Python 來說,可以使用 re 正則表達式,來幫助我們完成上面的工作。 string_rule = r"\d\d\d" rule = re.complie(string_rule ) results = rule.search(rule, msg) 可以直接套用 re 模組的函數,就不用先 re.complie(r"string_rule") …
Python 取得檔案路徑的常用方法
紀錄一下個人在 Python 中,取得檔案路徑的常用方法。 os.walk import os for dirPath, dirNames, fileNames in os.walk(r"d:\floder"): print(dirPath) for f in fileNames: print(os.path.join(dirPath, f)) glob 搭配星號 * 可以更加彈性搜尋相關關鍵字,或是整個資料夾特定類型的檔案。 取得資料夾底下所有資料路徑。 import glob data = glob.glob(r"D:\folder\*") NOTE: 取出 …
PyInstaller:Python 程式轉換失敗
今天試著用 Pyinstaller 把 Python 的程式轉成執行檔時,遇到一個我覺得很棘手的問題,導致轉換出來的程式都不能用。 通常我也不太會去轉換執行檔,但是我如果是用 PyQt5 製做得程式,通常會試著看看能不能包裝起來,給別人用得時候就是只有介面,也不用擔心他們用得時候程式會被修改。 轉換過程雖有一些錯誤,但還是可以把程式轉換出來,但轉出來的執行檔怎麼樣就是打不開,先來看看下面丟出來的 bug。 Fatal Python error: initfsencoding: unable to load the file system codec ModuleNotFoundError: …