簡體   English   中英

有沒有辦法使用 python 中該文件名的子文本將文件從一個文件夾復制到另一個文件夾?

[英]Is there a way to copy files from one folder to another using a subtext of that file name in python?

我有一個本地文件夾中所有可用文件的列表:

['13.643636,100.346960_5',
 '13.643636,100.350394_6',
 '13.643636,100.353828_7',
 '13.643636,100.357262_8',
 '13.643636,100.360696_9',
 '13.643636,100.364130_10',
 '13.643636,100.367564_11',
 '13.643636,100.370998_12',
 '13.643636,100.374432_13',
 '13.643636,100.377866_14',
 '13.643636,100.381300_15',
 '13.643636,100.384734_16']

我的文件夾有圖像,例如'13.643636,100.346830_5.png', '13.643636,100.350664_6.png', '13.643636,100.353938_7.png', '13.643636,100.357452_8.6690.png', '136078.png ', ETC。

這些值表示 lat_long_sequence。 序列是下划線后的值。

現在,我有 10000 張這些照片,但列表中的緯度和經度與文件夾中的不匹配,但其順序完全匹配。

有沒有辦法,我可以使用這個序列找到一個文件夾中的所有圖像並將其復制到本地的另一個文件夾中?

我有一個文件夾,里面有所有名為“my_folder”的圖像。 我的列表是“my_list”,我想根據“my_list”將圖像復制到的文件夾是“proc_folder”。

感謝任何幫助。

謝謝。

假設

  • proc_folder已存在
  • my_folderproc_folder是這些文件夾的完整路徑,或者與當前工作目錄位於同一文件夾中

如果您想通過 python 創建列表,請使用:

import os
dir_list = os.listdir(`my_folder`)
image_list = [file for file in dir_list if '.png' in file]

然后你可以復制所有這些文件:

import shutil
for i_string in my_list:
   i_file = i_string + '.png'
   shutil.copyfile('my_folder\' + i_file, 'proc_folder' + i_file)

從 my_list 獲取 seq 並將其存儲在 seq_list 中。 然后從 my_folder 中移動包含 seq_list 中的 seq 的文件

代碼:

import shutil
import os

my_list = ['13.643636,100.346960_5',
 '13.643636,100.350394_6',
 '13.643636,100.353828_7',
 '13.643636,100.357262_8',
 '13.643636,100.360696_9',
 '13.643636,100.364130_10',
 '13.643636,100.367564_11',
 '13.643636,100.370998_12',
 '13.643636,100.374432_13',
 '13.643636,100.377866_14',
 '13.643636,100.381300_15',
 '13.643636,100.384734_16']
 
seq_list = ['_' + ele.split('_')[1] for ele in my_list]
# ['_5', '_6', '_7', '_8', '_9', '_10', '_11', '_12', '_13', '_14', '_15', '_16']

for entry in os.scandir('my_folder'):
    if entry.is_file() and entry.name.split('_')[1] in seq_list:
        shutil.copyfile(entry.path + entry.name, 'dest_folder')
 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM