如何使用python将多个文件从子目录传输到单个路径文件夹?

2024-10-02 02:43:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Wav文件的名称(所有唯一)列表-

2003211085_2003211078_ffc0d543799a2984c60c581d.wav
2003214817_2003214800_92720fb19bf9216c2f160733.wav
2003233142_2003233136_8c42d206701830dff6032d41.wav
2003256235_2003256218_4e71bf77b0ffb907990d2e30.wav
2003276239_2003276196_dad6aff70f37817fcd75ffb8.wav
2003352182_2003352170_b1f2990d5f867408cc39c445.wav

有一个名为\019\Recordings的目录,其中所有这些文件都位于不同的子文件夹下。 我想编写一个python应用程序,根据这些wav文件的唯一名称从所有这些子文件夹中提取这些wav文件,并将它们放置到单个目标文件夹中

我是python新手,尝试使用-

import glob, os
import shutil

target_list_of_wav_names = ["2003211085_2003211078_ffc0d543799a2984c60c581d.wav",
"2003214817_2003214800_92720fb19bf9216c2f160733.wav",
"2003233142_2003233136_8c42d206701830dff6032d41.wav"
"2003352182_2003352170_b1f2990d5f867408cc39c445.wav"]

for file in glob.glob('//19/Recordings*.wav', recursive=True):
    print(file)
    if file in target_list_of_wav_names:
        shutil.move(file, "C:/Users/ivd/Desktop/autotranscribe"+file)

但文件不会反映在目标文件夹中

我怎样才能解决这个问题


Tags: 文件ofimport文件夹名称target目标glob
2条回答
import glob, os
import shutil

target_list_of_wav_names = ['example_wav1.wav','example_wav2.wav',...... etc]

for file in glob.glob('/019/Recordings/*.wav', recursive=True):
    print(file)
    if file in target_list_of_wav_names:
        shutil.move(file, "/mydir/"+file)

glob只是一个基于通配符查找文件的实用程序。它返回与查询匹配的文件字符串

因此,您仍然需要使用另一个函数实际移动文件

您可以使用os.renameshutil.move来移动它

for file in glob.glob("*.wav"):
    os.rename(file, f'destinationfolder/{file}')

相关问题 更多 >

    热门问题