python批處理大量文件(如何構造大量文件名)

如何利用python處理大量文件?(怎樣挑出想要的文件,怎樣處理每個文件)

	通常利用深度學習處理問題時,會對大量的數據進行訓練,當數據位於很多個文件中時,
	利用python編程實現批處理可以大大減小我們的工作量(不僅僅可以用在深度學習的問題中,其他方向也可以用到)。
	**而實現批處理的關鍵是如何生成大量的文件名**
	接下來本文會從挑選指定文件,並另存的角度介紹文件名的構造。

構造文件名

注意:批量處理文件的關鍵是文件名有規律,如本文用到的大量文件來自NTU-D深度數據集,命名如下:

在這裏插入圖片描述

構建命名函數

	上述數據集中,有五個數值在不停改變,因爲我們構造_get_file_name函數用於生成文件名,此函數可以更改後用於其他數據集的文件名構造。其中S、C、P、R、A分別對應文件名中的五個字母。
def _get_file_name(S_id, action_id, camera_id, view_id, actor_id):
  # need to modify the file name formation
  # return path+'a{}_c{}_d{}_p{:0>2d}_choose_skelton.mat'.format(action_id, camera_id, view_id, actor_id)
  return 'S{:0>2}C{:0>3}P{:0>3}R{:0>3d}A{:0>3}.mat'.format(S_id, camera_id, actor_id, view_id, action_id)

命名函數的調用(例子爲取出指定文件A28)

	首先,構造文件夾名稱,在將文件夾名稱與文件組合,代碼如下:
			raw_path = 'E/data'
			file_name = raw_path+_get_file_name(S_id, each_action+1, each_camera, each_view, each_actor)
            file_name2 ='E:/data/A28'
            if each_action+1 == 28:
                shutil.copy(file_name, file_name2)

		raw_path爲數據所在路徑,file_name爲文件帶目錄的名稱,file_name2爲提取出文件要存入的目錄,利用shutil.copy(file_name, file_name2)
	函數,將文件名中含A28的文件存入file_name2文件夾。

有問題歡迎一起討論,祝好(●’◡’●)!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章