使用Python將所有檔案從子資料夾移動到主資料夾


給定的問題陳述是使用Python將所有檔案從子資料夾移動到主資料夾。因此,我們將使用Python的OS和Shutil庫來完成此任務。

理解問題的邏輯

在這個任務中,我們需要使用Python程式語言將存在於子資料夾中的所有檔案移動到主資料夾。為此,我們將指定原始檔夾路徑和目標或主資料夾路徑。我們將使用python的os和shutil庫來完成此任務。首先,我們將匯入必要的庫,然後建立一個函式,將檔案從子資料夾或原始檔夾移動到主資料夾或目標資料夾。

演算法

  • 步驟1 − 首先匯入OS和Shutil庫。

  • 步驟2 − 其次,建立一個名為move_to_main的函式,該函式接受主資料夾作為main_fldr引數。

  • 步驟3 − 然後,藉助for迴圈,我們將找到子資料夾中存在的檔案。

  • 步驟4 − 對於每個檔案,我們將路徑從源路徑更改為目標路徑。

  • 步驟5 − 然後我們將使用shutil.move將所有檔案從源/子資料夾移動到目標/主資料夾。

示例

import os
import shutil

# Mention the function to move the files
def move_to_main(main_fldr):
   for folder, files in os.walk(main_fldr):
      for file in files:
         source = os.path.join(folder, file)
         destination = os.path.join(main_fldr, file)
         shutil.move(source, destination)
         print(f"Moved {source} to {destination}")


# Mention the path in which the files are located
main_fldr = '/path/to/main/folder'

# Call the main function
move_to_main(main_fldr)

輸出

操作前

操作後

控制檯輸出

使用的庫和函式

在這篇文章中,我們主要使用了Python的兩個庫:OS和Shutil。

  • OS庫 − OS庫提供用於新增和刪除資料夾或目錄的函式,並用於檢索目錄內的內容。它還用於更改當前目錄等等。簡單來說,我們可以說這個模組提供了利用作業系統功能的方法。在這個模組中,可以使用open、close、write等函式。

  • Shutil庫 − Shutil庫對檔案和檔案集合進行了許多高階處理。該模組主要提供用於促進檔案刪除和複製的工具。shutil模組提供move、copy、listdir、delete等函式。

  • os.walk() − Python的OS庫中有一個名為walk()的函式,它用於透過自下而上或自上而下的方式遍歷樹來生成目錄樹中的檔名。此函式也可用於搜尋目錄中的特定檔案。

  • Shutil.move() − shutil.move的工作機制是從一個位置將檔案或資料夾重新定位到另一個位置。這個過程是遞迴進行的。

結論

我們已成功使用Python中提供的shutil和os模組將檔案從子資料夾移動到主資料夾。

更新於:2023年10月16日

瀏覽量:937

啟動你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.