1. opencv讀取
define:cv_imread(filepath)
function:在python3中由於python3字串採用utf8編碼,cv2.imread將utf8當作本地碼(如gbk),可通過imdecode()函式讀取帶有中文路徑的
parameters:
#在python3中由於python3字串採用utf8編碼,cv2.imread將utf8當作本地碼(如gbk),可通過imdecode()函式讀取帶有中文路徑的。
defcv_imread
(filepath)
: cv_img=cv2.imdecode(np.fromfile(filepath,dtype=np.uint8),-
1)try:
if cv_img.
any():
#讀取成功
## imdecode讀取的是rgb,如果後續需要opencv處理的話,需要轉換成bgr,轉換後顏色會變化
cv_img=cv2.cvtcolor(cv_img,cv2.color_rgb2bgr)
return cv_img
except attributeerror:
#讀取失敗,此時cv_img為none,呼叫cv_img.any()會產生valueerror
print
('valueerror: {}'
.format
(filepath)
)return
none
2. list to stringdef
list2str
(li, dvide)
:return dvide.join(
list
(map
(str
, li)
))
示例:
in[95]: list2str([23,5,『sd』], 『,』)3. 擷取路徑名out[95]: 『23,5,sd』
def
get_path_name
(directory, num=
1, reverse=
false):
if num ==0:
pos = directory.rfind(
'.')
pos_start = directory.rfind(
'\\'
)return directory[pos_start+
1:pos]
# 若無字尾名,則返回none
elif reverse:
return directory[
:directory.rfind(directory.split(
'\\')[
-num])]
else
:return directory.split(
'\\')[
-num]
示例:
in[5]: get_path_name(r』d:\working\edge_detection\kcacp-master\python\data\output\blurry_output.txt』)4. 搜尋目錄下檔案out[5]: 『blurry_output.txt』
in[6]: get_path_name(r』d:\working\edge_detection\kcacp-master\python\data\output\blurry_output.txt』,2)
out[6]: 『output』
in[7]: get_path_name(r』d:\working\edge_detection\kcacp-master\python\data\output\blurry_output.txt』,1, true)
out[7]: 『d:\working\edge_detection\kcacp-master\python\data\output』
import glob
search_dir =
'/home/***x'
# 搜尋/home/***x資料夾下所有檔案/資料夾(若為空資料夾,則以該資料夾結尾,無字尾ext)
glob.glob(search_dir+
'/**'
, recursive=
true
)# 搜尋/home/***x資料夾下包括子資料夾所有以.py結尾的檔案
glob.glob(search_dir+
'/**/*.py'
, recursive=
true
)# 返回乙個list,其中包括所有搜尋到的檔案/資料夾的絕對路徑
def
glob_files
(directory, ext_list=
none
, search_deep=
0, search_add=
false
, search_all=
false):
""" 目錄下搜尋檔案,並返回list
:param directory: 搜尋目錄
:param ext_list: 目標字尾list,為none時搜尋所有檔案和目錄
:param search_deep: 搜尋深度,為0時搜尋當前目錄下所有檔案;為1時搜尋當前目錄下所有子目錄下所有檔案
:param search_add: 結合search_deep使用,為false時只返回search_deep下的搜尋結果;為true時返回當前目錄直到search_deep下所有結果
:param search_all: 是否遞迴搜尋directory下所有檔案,為true時其他三個引數中僅ext_list生效(ext_list為none時返回目錄及所有子目錄下所有格式的檔案及空資料夾)
:return:
"""file_list =
if search_all:
if ext_list ==
none
: file_list = glob.glob(directory +
'/**'
, recursive=
true
)else
:for ext in ext_list:
file_list += glob.glob(directory +
'/**/*.{}'
.format
(ext)
, recursive=
true
)else
: glob_content =
''if search_add:
for i in
range
(search_deep+1)
: glob_content +=
'/*'
if ext_list ==
none
: file_list += glob.glob(directory +
'{}*'
.format
(glob_content)
)else
:for ext in ext_list:
file_list += glob.glob(directory +
'{}.{}'
.format
(glob_content, ext)
)else
:for i in
range
(search_deep+1)
: glob_content +=
'/*'
if ext_list ==
none
: file_list += glob.glob(directory +
'{}*'
.format
(glob_content)
)else
:for ext in ext_list:
file_list += glob.glob(directory +
'{}.{}'
.format
(glob_content, ext)
)return file_list
示例:
temp = glob_files(r'd:\desktop\shishuai.yan\desktop\my nutstore\code\python',[
'py'
], search_deep=
0, search_add=
false
, search_all=
true
)print
(len
(temp)
)print
(temp)
871[『d:\desktop\yan\desktop\my nutstore\code\python\cos_calculate.py』, 『d:\desktop\yan\desktop\my nutstore\code\python\computer vision\deep_learning\task_one\common\layers.py』, …]
自用 python模組
系統相關的資訊模組 import sys sys argv 是乙個list 包含所有的命令列引數.sys.stdout sys stdin sys stderr 分別表示標準輸入輸出,錯誤輸出的檔案物件.sys.stdin readline 從標準輸入讀一行 sys.stdout write a 螢...
Python筆記自用
多個list對應元素運算list1 1 2,3 4 list2 5 6,7 8 list3 list map lambda a,b a b,list1,list2 print list3 5 12,21 32 宣告為全域性變數 在變數前加乙個globle 或者寫在乙個.py檔案中,然後import該...
自用封裝javascript函式
function jhrz img arr.loading static images loading.gif static images loading gray.gif jhrz img arr.normal static images normal.gif window jhrz img ar...