欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python重命名文件并移動(dòng)到對(duì)應(yīng)文件夾

 更新時(shí)間:2025年02月24日 15:25:15   作者:游客520  
在日常的文件管理和處理過(guò)程中,我們可能會(huì)遇到需要將文件整理到不同文件夾中的需求,下面我們就來(lái)看看如何使用Python實(shí)現(xiàn)重命名文件并移動(dòng)到對(duì)應(yīng)文件夾吧

在日常的文件管理和處理過(guò)程中,我們可能會(huì)遇到需要將文件整理到不同文件夾中的需求。例如,我們有一個(gè)包含多個(gè)文件的目錄,文件名的首字符表示文件應(yīng)該存放在哪個(gè)文件夾中。我們可以使用Python腳本來(lái)自動(dòng)完成這個(gè)任務(wù),實(shí)現(xiàn)文件的分類(lèi)整理。本文將介紹如何通過(guò)Python編寫(xiě)一個(gè)腳本來(lái)實(shí)現(xiàn)以下功能:

檢查并刪除空文件夾

將文件按照文件名的首字符分類(lèi),移動(dòng)到對(duì)應(yīng)的文件夾中。

1. 基本需求

假設(shè)我們有一個(gè)文件夾save,其中包含多個(gè)文件和一些空文件夾。我們需要做以下幾件事:

刪除空文件夾:首先檢查文件夾是否為空,如果是空文件夾,刪除它。

移動(dòng)文件到對(duì)應(yīng)文件夾:根據(jù)文件名的首字母,將文件移動(dòng)到相應(yīng)的文件夾中。

2. 實(shí)現(xiàn)代碼解析

import os
import shutil
 
# 設(shè)置文件保存路徑
save_path = './save'
 
# 遍歷目錄下的所有文件和文件夾
for file in os.listdir(save_path):
    # 如果是文件夾
    if os.path.isdir(os.path.join(save_path, file)):
        try:
            # 嘗試刪除空文件夾
            os.rmdir(os.path.join(save_path, file))
            print('刪除空文件夾:', file)
        except Exception as e:
            # 如果文件夾不為空,捕獲異常并輸出錯(cuò)誤信息
            print('>>>', e)
        continue
 
    # 獲取文件名的首字母
    file_dir = os.path.join(save_path, file[0])
 
    # 如果目標(biāo)文件夾不存在,則創(chuàng)建它
    if not os.path.exists(file_dir):
        os.mkdir(file_dir)
 
    # 移動(dòng)文件到對(duì)應(yīng)的文件夾
    shutil.move(os.path.join(save_path, file), os.path.join(file_dir, file))

3. 代碼解釋

3.1 os.listdir(save_path)

os.listdir(save_path) 會(huì)列出 save 文件夾下的所有文件和文件夾名稱。返回的內(nèi)容是一個(gè)包含文件名(包括文件夾和文件)的列表。

3.2 刪除空文件夾

if os.path.isdir(os.path.join(save_path, file)):
    try:
        os.rmdir(os.path.join(save_path, file))
        print('刪除空文件夾:', file)
    except Exception as e:
        print('>>>', e)
    continue

os.path.isdir:檢查指定路徑是否為文件夾。

os.rmdir:刪除空文件夾。如果文件夾不為空,刪除會(huì)失敗并拋出異常,我們通過(guò)try-except來(lái)捕獲異常并輸出錯(cuò)誤信息。

如果該項(xiàng)是空文件夾,則打印提示信息并跳過(guò)該文件夾,繼續(xù)處理其他文件。

3.3 根據(jù)文件首字母分類(lèi)并移動(dòng)文件

file_dir = os.path.join(save_path, file[0])
 
if not os.path.exists(file_dir):
    os.mkdir(file_dir)
 
shutil.move(os.path.join(save_path, file), os.path.join(file_dir, file))

file[0]:獲取文件名的首字母,這決定了文件應(yīng)該被分類(lèi)到哪個(gè)文件夾中。

os.path.exists(file_dir):檢查目標(biāo)文件夾是否存在。如果不存在,則使用os.mkdir創(chuàng)建一個(gè)新文件夾。

shutil.move:將文件從源路徑移動(dòng)到目標(biāo)路徑。

4. 代碼執(zhí)行結(jié)果

運(yùn)行該腳本后,系統(tǒng)會(huì)遍歷save目錄下的所有文件,執(zhí)行以下操作:

刪除所有空的文件夾。

根據(jù)每個(gè)文件名的首字母創(chuàng)建新的文件夾,并將文件移動(dòng)到對(duì)應(yīng)的文件夾中。

例如,假設(shè)save文件夾中有以下文件:

apple.txt
banana.docx
cat.pdf
空文件夾folder1

執(zhí)行腳本后,save目錄下將會(huì)有三個(gè)新的文件夾:

a/,包含apple.txt
b/,包含banana.docx
c/,包含cat.pdf

空文件夾folder1將被刪除。

5. 總結(jié)

這段Python代碼通過(guò)os和shutil模塊實(shí)現(xiàn)了自動(dòng)化的文件分類(lèi)和空文件夾刪除。這樣的腳本在文件整理、數(shù)據(jù)清理等場(chǎng)景下非常有用。你可以根據(jù)實(shí)際需求修改文件夾分類(lèi)規(guī)則,例如使用文件的擴(kuò)展名、文件大小等作為分類(lèi)標(biāo)準(zhǔn)。

方法補(bǔ)充

下面小編為大家整理了一下python快速移動(dòng)文件內(nèi)容到另一個(gè)文件夾的示例代碼,希望對(duì)大家有所幫助

一–>多

代碼如下,方便備用:

import shutil
import os

def remove_file(old_path, new_path):
    print(old_path)
    print(new_path)
    filelist = os.listdir(old_path)  # 列出該目錄下的所有文件,listdir返回的文件列表是不包含路徑的。
    # print(filelist)
    for i, file in enumerate(filelist):
        src = os.path.join(old_path, file)
        dst = os.path.join(new_path, file)
        # print('src:', src)
        # print('dst:', dst)
        shutil.move(src, dst)
        # 如果是復(fù)制,改成如下代碼
        # shutil.copy(src, dst)
        # 拆分?jǐn)?shù)量
        if (i == 999):
            break

if __name__ == '__main__':
    for i in range(1, 12):
        name = '新建文件夾' + str(i)
        if os.path.exists(name)==False:
            os.mkdir(name)
        remove_file(r"F:\圖片名稱\圖片", name)

多–>一

import shutil
import os

def remove_file(old_path, new_path):
    print(old_path)
    print(new_path)
    filelist = os.listdir(old_path)  # 列出該目錄下的所有文件,listdir返回的文件列表是不包含路徑的。
    # print(filelist)
    for i, file in enumerate(filelist):
        src = os.path.join(old_path, file)
        dst = os.path.join(new_path, file)
        # print('src:', src)
        # print('dst:', dst)
        shutil.move(src, dst)
        # 如果是復(fù)制,改成如下代碼
        # shutil.copy(src, dst)		

if __name__ == '__main__':
    for i in range(1, 12):
        name = '新建文件夾' + str(i)
        remove_file(name, r"E:\服務(wù)器數(shù)據(jù)\test_latest\11068")

到此這篇關(guān)于Python重命名文件并移動(dòng)到對(duì)應(yīng)文件夾的文章就介紹到這了,更多相關(guān)Python重命名文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python 實(shí)現(xiàn)繪制子圖及子圖刻度的變換等問(wèn)題

    Python 實(shí)現(xiàn)繪制子圖及子圖刻度的變換等問(wèn)題

    這篇文章主要介紹了Python 實(shí)現(xiàn)繪制子圖及子圖刻度的變換等問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Selenium及python實(shí)現(xiàn)滾動(dòng)操作多種方法

    Selenium及python實(shí)現(xiàn)滾動(dòng)操作多種方法

    這篇文章主要介紹了Selenium及python實(shí)現(xiàn)滾動(dòng)操作多種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • python流程控制詳細(xì)介紹

    python流程控制詳細(xì)介紹

    這篇文章主要介紹了python流程控制,文章主要根據(jù)python流程控制的相關(guān)資料展開(kāi)全文內(nèi)容,具有一定的參考解釋?zhuān)枰男』锇榭梢詤⒖家幌拢M麑?duì)你有所幫助
    2021-12-12
  • NumPy隨機(jī)數(shù)據(jù)分布與Seaborn可視化詳解

    NumPy隨機(jī)數(shù)據(jù)分布與Seaborn可視化詳解

    數(shù)據(jù)分布是指數(shù)據(jù)集中所有可能值出現(xiàn)的頻率,并用概率來(lái)表示,它描述了數(shù)據(jù)取值的可能性,Seaborn 是一個(gè)基于 Matplotlib 的 Python 數(shù)據(jù)可視化庫(kù),用于創(chuàng)建統(tǒng)計(jì)圖表,本文就給大家詳細(xì)的介紹一下NumPy隨機(jī)數(shù)據(jù)分布與Seaborn可視化,需要的朋友可以參考下
    2024-05-05
  • 使用python的chardet庫(kù)獲得文件編碼并修改編碼

    使用python的chardet庫(kù)獲得文件編碼并修改編碼

    windows和linux采用了不同的編碼,這讓很多人傷透了腦經(jīng),這里我采用了Python的chardet庫(kù)獲得代碼的編碼,然后修改編碼
    2014-01-01
  • python連接PostgreSQL過(guò)程解析

    python連接PostgreSQL過(guò)程解析

    這篇文章主要介紹了python連接PostgreSQL過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • Python類(lèi)型注解必備利器typing模塊全面解讀

    Python類(lèi)型注解必備利器typing模塊全面解讀

    在Python 3.5版本后引入的typing模塊為Python的靜態(tài)類(lèi)型注解提供了支持,這個(gè)模塊在增強(qiáng)代碼可讀性和維護(hù)性方面提供了幫助,本文將深入探討typing模塊,介紹其基本概念、常用類(lèi)型注解以及使用示例,以幫助讀者更全面地了解和應(yīng)用靜態(tài)類(lèi)型注解
    2024-01-01
  • 用Python復(fù)現(xiàn)二戰(zhàn)德軍enigma密碼機(jī)

    用Python復(fù)現(xiàn)二戰(zhàn)德軍enigma密碼機(jī)

    大家好,本篇文章主要講的是用Python復(fù)現(xiàn)二戰(zhàn)德軍enigma密碼機(jī),感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • python爬蟲(chóng)模塊URL管理器模塊用法解析

    python爬蟲(chóng)模塊URL管理器模塊用法解析

    這篇文章主要介紹了python爬蟲(chóng)模塊URL管理器模塊用法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • Python如何通過(guò)subprocess調(diào)用adb命令詳解

    Python如何通過(guò)subprocess調(diào)用adb命令詳解

    python可以說(shuō)是寫(xiě)一些小腳本的利器語(yǔ)法簡(jiǎn)單,做為最著名的就“膠水語(yǔ)言”用它來(lái)寫(xiě)一些命令腳本非常的方便。下面這篇文章主要給大家介紹了關(guān)于Python如何通過(guò)subprocess調(diào)用adb命令的相關(guān)資料,需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08

最新評(píng)論