【发布时间】:2022-01-13 12:30:21
【问题描述】:
我有以下格式的文件夹:
AAPL_176546(空子文件夹) AAPL_2000(空子文件夹) AAPL_30234(空子文件夹) AAPL_176546.mp3 AAPL_176546.txt AAPL_2000.mp3 AAAPL_2000.txt AAPL_30234.mp3 AAPL_30234.txt
我希望遍历文件夹并将相应的 .txt 和 .mp3 文件移动到子文件夹中(例如将 AAPL_176546.mp3 和 AAPL_176546.txt 移动到 AAPL_176546)。
我试过了:
import os
import shutil
srcpath = "C:/Users/xeb15154/OneDrive - University of Strathclyde/Audio Files (5,506)/AAPL/"
destpath = "C:/Users/xeb15154/OneDrive - University of Strathclyde/Audio Files (5,506)/AAPL/"
for root, subFolders, files in os.walk(srcpath):
for file in files:
subFolder = os.path.join(destpath, file)
if not os.path.isdir(subFolder):
os.makedirs(subFolder)
shutil.move(os.path.join(root, file), subFolder)
但这会为每个文件创建文件夹,即名为 AAPL_176546.mp3 和 AAPL_176546.txt 的子文件夹,其中存储了相应的文件。此外,当将上述代码用于具有不同文件名长度的文件的目录时,它再次失败。
任何关于此事的帮助将不胜感激!
【问题讨论】:
标签: python directory directory-structure