如何提取乙個資料夾下特定格式的檔案

2021-09-27 07:57:39 字數 2075 閱讀 7510

今天在做資料標註的時候遇到乙個問題,就是如何把我需要的jpg格式的資料從資料夾裡提取出來,這裡注意:我的資料夾裡不止有jpg格式的資料,還有其他亂七八糟的格式資料。

除了上面的要求之外,我還需要對每個jpg格式的檔案還像之前一樣存放在對應的目錄下,而不是弄成一鍋粥。

下面給出python**:

說明:1、path是你的資料集存放目錄

2、target_path是你需要存放的位置

3、拓展:你可以修改**中的str的值來到達你想提取的格式,我這裡只提取jpg格式

import os,sys

import shutil

import glob

"""說明:本程式是拷貝jpg**的**,會拷貝給定目錄中所有的jpg格式的檔案到指定的target_path中

"""path = r"d:/資料集/01-250"

# 需要儲存到的路徑

target_path = "d:/2/"

dir =

for root, dirs, files in os.walk(path):

# print(root) #當前目錄路徑

# print(dirs) #當前路徑下所有子目錄

# print(files) #當前路徑下所有非目錄子檔案

print(dir)

if os.path.exists(target_path):

pass

else:

os.makedirs(target_path)

for file_name in dir:

# 目錄

# 提取資料夾內所有檔案的字尾

print("發現在", file_name, "中有檔案", "一共有jpg格式的", len(image_file_list), "張\n")

#if os.path.exists(image_file):

# 提取最後乙個檔名

last_file_name = file_name.split("/")[-1]

# 建立新的資料夾

new_file_name = os.path.join(target_path, last_file_name)

if os.path.exists(new_file_name):

continue

else:

os.makedirs(new_file_name)

# 複製檔案

#print("%s中需要%s複製檔案 \n"%(file_name, len(image_file_list)))

def _progress(oringal, target, count, total_size):

sys.stdout.write(

'\r>> 正在拷貝%s中的檔案到%s 已完成%.1f%%' % (oringal, target, float(count) / float(total_size) * 100.0))

sys.stdout.flush()

for i,image in enumerate(image_file_list):

_progress(file_name, new_file_name, i, len(image_file_list))

shutil.copy(image, new_file_name)

print("\n")

else:

continue

WIndows下提取乙個資料夾下的檔名list

背景 windows下,提取乙個資料夾下的檔名list 不帶字尾名 實現 獲取檔案路徑下的檔名 void getfiles string path,vector files else while findnext hfile,fileinfo 0 findclose hfile 將檔案路徑下的xml...

找出乙個資料夾下的所有檔案

找出乙個資料夾下的所有檔案,用遞迴方法實現 給出乙個資料夾,找出資料夾下面的所有檔案 class findfile public function checkdir return true public function find file reset allfile 把陣列指標重新指向第乙個元素 ...

python如何讀取乙個資料夾下的多個檔案(夾)?

coding utf 8 import os allfilenum 0 列印乙個目錄下的所有資料夾和檔案 def printpath level,path global allfilenum 使用全域性變數allfilenum 存放當前目錄下所有資料夾的列表 dirlist 存放當前目錄下所有檔案的...