gpt4 book ai didi

python - 如何根据文件名将一个文件夹中的多个文件分成不同的文件夹?

转载 作者:行者123 更新时间:2023-12-03 21:12:40 25 4
gpt4 key购买 nike

当前的文件组织如下所示:
物种名称1.asc
物种名称1.csv
Species_name1_Averages.csv
...
...
物种名称2.asc
物种名称2.csv
Species_name2_Averages.csv

我需要找出一个脚本,它可以创建具有名称(Species_name1、Species_name2 ... 等)的新目录,并且可以将文件从基本目录移动到适当的新目录中。

import os
import glob
import shutil

base_directory = [CURRENT_WORKING_DIRECTORY]

with open("folder_names.txt", "r") as new_folders:
for i in new_folders:
os.mkdirs(base_directory+i)
以上是我在基本目录中创建新目录时可以想到的一个示例。
我知道如果我要使用 python,我将不得不使用 os、shutil 和/或 glob 模块中的工具。但是,确切的脚本正在逃避我,我的文件仍然杂乱无章。如果您有任何建议可以帮助我完成这个小任务,我将不胜感激。
此目录中还有许多文件类型和后缀,但 (species_name?) 部分始终是一致的。
以下是预期的层次结构:
物种名称1
-- 物种名称1.asc
-- 物种名称1.csv
-- Species_name1_Averages.csv
物种名称2
-- 物种名称2.asc
-- 物种名称2.csv
-- Species_name2_Averages.csv
先感谢您!

最佳答案

像这样使用简单的 shell 工具和 :

find . -type f -name '*Species_name*' -exec bash -c '
dir=$(grep -oP "Species_name\d+" <<< "$1")
echo mkdir "$dir"
echo mv "$1" "$dir"
' -- {} \;
放弃 echo当输出看起来适合您时发出命令。

关于python - 如何根据文件名将一个文件夹中的多个文件分成不同的文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62685679/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com