第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何根據(jù)文件名將多個(gè)文件從一個(gè)文件夾中分離到單獨(dú)的文件夾中?

如何根據(jù)文件名將多個(gè)文件從一個(gè)文件夾中分離到單獨(dú)的文件夾中?

aluckdog 2023-02-12 19:05:06
當(dāng)前文件組織如下所示:Species_name1.ascSpecies_name1.csvSpecies_name1_Averages.csv......Species_name2.ascSpecies_name2.csvSpecies_name2_Averages.csv我需要找出一個(gè)腳本,它可以創(chuàng)建具有名稱(Species_name1、Species_name2...等)的新目錄,并且可以將文件從基本目錄移動(dòng)到適當(dāng)?shù)男履夸浿小mport osimport globimport shutilbase_directory = [CURRENT_WORKING_DIRECTORY]with open("folder_names.txt", "r") as new_folders:     for i in new_folders:          os.mkdirs(base_directory+i)以上是我在基本目錄中創(chuàng)建新目錄時(shí)可以想到的示例。我知道如果我要使用 python,我將不得不使用 os、shutil 和/或 glob 模塊中的工具。然而,確切的腳本正在逃避我,我的文件仍然雜亂無章。如果您有任何建議可以幫助我完成這個(gè)小任務(wù),我將不勝感激。此目錄中還有許多文件類型和后綴,但 (species_name?) 部分始終保持一致。以下是預(yù)期的層次結(jié)構(gòu):Species_name1-- Species_name1.asc-- Species_name1.csv-- Species_name1_Averages.csvSpecies_name2-- Species_name2.asc-- Species_name2.csv-- Species_name2_Averages.csv先感謝您!
查看完整描述

2 回答

?
阿波羅的戰(zhàn)車

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超6個(gè)贊

像這樣使用簡(jiǎn)單的 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 當(dāng)輸出看起來不錯(cuò)時(shí)刪除命令。


查看完整回答
反對(duì) 回復(fù) 2023-02-12
?
吃雞游戲

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊

假設(shè)您的所有asc文件都像示例中那樣命名:


from os import  mkdir

from shutil import move

from glob import glob


fs = []

for file in glob("*.asc"):

    f = file.split('.')[0]

    fs.append(f)

    mkdir(f)

    

for f in fs:

    for file in glob("*.*"):

        if file.startswith(f):

            move(file, f'.\\{f}\\{file}')

更新:


假設(shè)您的所有Species_name.asc文件都像您的示例中那樣標(biāo)記:


from os import  mkdir

from shutil import move

from glob import glob


fs = [file.split('.')[0] for file in glob("Species_name*.asc")]

    

for f in fs:

    mkdir(f)

    for file in glob("*.*"):

        if file.startswith(f):

            move(file, f'.\\{f}\\{file}')


查看完整回答
反對(duì) 回復(fù) 2023-02-12
  • 2 回答
  • 0 關(guān)注
  • 164 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)