亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python自動(dòng)化辦公之文件整理腳本分享

 更新時(shí)間:2023年08月01日 08:32:44   作者:Python數(shù)據(jù)開發(fā)  
這篇文章主要為大家分享了一個(gè)Python自動(dòng)化辦公腳本,可以實(shí)現(xiàn)文件整理,這是一個(gè)很有用的技能,可以幫助你管理你的電腦上的各種文件,需要的可以收藏一下

哈嘍大家好,今天給大家介紹python自動(dòng)化辦公-文件整理腳本

今天講解文件整理腳本的實(shí)現(xiàn)過程。這是一個(gè)很有用的技能,可以幫助你管理你的電腦上的各種文件。需求如下:

需求內(nèi)容:給定一個(gè)打算整理的文件夾目錄,這個(gè)腳本可以將該目錄下的所有文件都揪出來,并且根據(jù)后綴名歸類到不同的文件夾里。

python能力:使用python的內(nèi)置模塊os和shutil來操作文件和目錄,使用glob模塊來匹配文件名,使用with語句來打開和關(guān)閉文件。

實(shí)現(xiàn)步驟:

  • 導(dǎo)入需要的模塊
  • 定義要整理的目錄和要?jiǎng)?chuàng)建的子目錄
  • 遍歷目錄下的所有文件,獲取文件名和后綴名
  • 根據(jù)后綴名判斷文件屬于哪個(gè)子目錄,如果不存在則創(chuàng)建
  • 使用shutil模塊的move函數(shù)將文件移動(dòng)到對(duì)應(yīng)的子目錄
  • 打印完成信息

教程面對(duì)的是小白級(jí)別的讀者,所以我會(huì)盡量用簡(jiǎn)單明了的語言來解釋每一行代碼的作用,并且給出完整的代碼示例。我希望你能跟著我一起學(xué)習(xí),并且在自己的電腦上運(yùn)行和測(cè)試這個(gè)腳本。

導(dǎo)入python的內(nèi)置模塊

首先,我們需要導(dǎo)入一些python的內(nèi)置模塊,它們可以幫助我們操作文件和目錄。os模塊提供了一些基本的文件系統(tǒng)功能,比如獲取文件路徑,創(chuàng)建和刪除目錄等。shutil模塊提供了一些高級(jí)的文件操作功能,比如復(fù)制和移動(dòng)文件等。glob模塊可以讓我們用通配符來匹配文件名,比如*.txt可以匹配所有后綴名為txt的文件。with語句可以讓我們方便地打開和關(guān)閉文件,不用擔(dān)心忘記關(guān)閉或者出現(xiàn)異常。下面是導(dǎo)入模塊的代碼:

# 導(dǎo)入需要的模塊
import os
import shutil
import glob

定義要整理的目錄和要?jiǎng)?chuàng)建的子目錄

接下來,我們需要定義要整理的目錄和要?jiǎng)?chuàng)建的子目錄。我們假設(shè)要整理的目錄是D:\test,里面有各種類型的文件,比如文本文件,圖片文件,音頻文件等。我們想要把這些文件按照后綴名歸類到不同的子目錄里,比如txt文件放到D:\test\txt,jpg文件放到D:\test\jpg,mp3文件放到D:\test\mp3等。我們可以用一個(gè)字典來存儲(chǔ)這些子目錄的信息,鍵是后綴名,值是對(duì)應(yīng)的子目錄路徑。下面是定義目錄的代碼:

# 定義要整理的目錄和要?jiǎng)?chuàng)建的子目錄
source_dir = "D:\\test" # 要整理的目錄
sub_dirs = { # 子目錄信息
    ".txt": "D:\\test\\txt",
    ".jpg": "D:\\test\\jpg",
    ".mp3": "D:\\test\\mp3"
}

遍歷目錄下的所有文件,獲取文件名和后綴名

然后,我們需要遍歷要整理的目錄下的所有文件,獲取文件名和后綴名。我們可以用os模塊的listdir函數(shù)來獲取目錄下的所有文件和子目錄,然后用os模塊的path.splitext函數(shù)來分割文件名和后綴名。我們還需要判斷是否是文件,因?yàn)閘istdir函數(shù)會(huì)返回子目錄,我們不需要處理它們。我們可以用os模塊的path.isfile函數(shù)來判斷是否是文件。下面是遍歷目錄的代碼:

# 遍歷目錄下的所有文件,獲取文件名和后綴名
for item in os.listdir(source_dir): # 遍歷目錄
    if os.path.isfile(os.path.join(source_dir, item)): # 判斷是否是文件
        file_name, file_ext = os.path.splitext(item) # 分割文件名和后綴名
        print(file_name, file_ext) # 打印文件名和后綴名

根據(jù)后綴名判斷文件屬于哪個(gè)子目錄

接著,我們需要根據(jù)后綴名判斷文件屬于哪個(gè)子目錄,如果不存在則創(chuàng)建。我們可以用字典的get方法來根據(jù)鍵獲取值,如果鍵不存在則返回None。我們可以用os模塊的path.exists函數(shù)來判斷子目錄是否存在,如果不存在則用os模塊的makedirs函數(shù)來創(chuàng)建。下面是判斷和創(chuàng)建子目錄的代碼:

# 根據(jù)后綴名判斷文件屬于哪個(gè)子目錄,如果不存在則創(chuàng)建
        sub_dir = sub_dirs.get(file_ext) # 根據(jù)后綴名獲取子目錄路徑
        if sub_dir: # 如果子目錄路徑存在
            if not os.path.exists(sub_dir): # 如果子目錄不存在
                os.makedirs(sub_dir) # 創(chuàng)建子目錄
                print(f"Created {sub_dir}") # 打印創(chuàng)建信息

將文件移動(dòng)到對(duì)應(yīng)的子目錄

接下來,我們需要使用shutil模塊的move函數(shù)將文件移動(dòng)到對(duì)應(yīng)的子目錄。我們需要提供源文件路徑和目標(biāo)文件路徑作為參數(shù)。我們可以用os模塊的path.join函數(shù)來拼接路徑。下面是移動(dòng)文件的代碼:

# 使用shutil模塊的move函數(shù)將文件移動(dòng)到對(duì)應(yīng)的子目錄
            source_file = os.path.join(source_dir, item) # 源文件路徑
            target_file = os.path.join(sub_dir, item) # 目標(biāo)文件路徑
            shutil.move(source_file, target_file) # 移動(dòng)文件
            print(f"Moved {source_file} to {target_file}") # 打印移動(dòng)信息

打印完成信息

最后,我們需要打印完成信息,告訴用戶整理工作已經(jīng)完成。下面是打印完成信息的代碼:

# 打印完成信息
print("Done!")

這樣,我們就完成了一個(gè)簡(jiǎn)單的文件整理腳本。

完整代碼

# 導(dǎo)入需要的模塊
import os
import shutil
import glob
# 定義要整理的目錄和要?jiǎng)?chuàng)建的子目錄
source_dir = "D:\\test" # 要整理的目錄
sub_dirs = { # 子目錄信息
    ".txt": "D:\\test\\txt",
    ".jpg": "D:\\test\\jpg",
    ".mp3": "D:\\test\\mp3"
}
# 遍歷目錄下的所有文件,獲取文件名和后綴名
for item in os.listdir(source_dir): # 遍歷目錄
    if os.path.isfile(os.path.join(source_dir, item)): # 判斷是否是文件
        file_name, file_ext = os.path.splitext(item) # 分割文件名和后綴名
        print(file_name, file_ext) # 打印文件名和后綴名
        # 根據(jù)后綴名判斷文件屬于哪個(gè)子目錄,如果不存在則創(chuàng)建
        sub_dir = sub_dirs.get(file_ext) # 根據(jù)后綴名獲取子目錄路徑
        if sub_dir: # 如果子目錄路徑存在
            if not os.path.exists(sub_dir): # 如果子目錄不存在
                os.makedirs(sub_dir) # 創(chuàng)建子目錄
                print(f"Created {sub_dir}") # 打印創(chuàng)建信息
            # 使用shutil模塊的move函數(shù)將文件移動(dòng)到對(duì)應(yīng)的子目錄
            source_file = os.path.join(source_dir, item) # 源文件路徑
            target_file = os.path.join(sub_dir, item) # 目標(biāo)文件路徑
            shutil.move(source_file, target_file) # 移動(dòng)文件
            print(f"Moved {source_file} to {target_file}") # 打印移動(dòng)信息
# 打印完成信息
print("Done!")

如果你在自己的電腦上運(yùn)行這個(gè)腳本,你會(huì)看到類似下面的輸出:

test1 .txt
test2 .jpg
test3 .mp3
Created D:\test\txt
Moved D:\test\test1.txt to D:\test\txt\test1.txt
Created D:\test\jpg
Moved D:\test\test2.jpg to D:\test\jpg\test2.jpg
Created D:\test\mp3
Moved D:\test\test3.mp3 to D:\test\mp3\test3.mp3
Done!

到此這篇關(guān)于Python自動(dòng)化辦公之文件整理腳本分享的文章就介紹到這了,更多相關(guān)Python文件整理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python實(shí)現(xiàn)Linux中的du命令

    Python實(shí)現(xiàn)Linux中的du命令

    這篇文章主要介紹了Python實(shí)現(xiàn)Linux中簡(jiǎn)單du命令,需要的朋友可以參考下
    2017-06-06
  • python線程的幾種創(chuàng)建方式詳解

    python線程的幾種創(chuàng)建方式詳解

    這篇文章主要介紹了python線程的幾種創(chuàng)建方式詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • parser.add_argument中的action使用

    parser.add_argument中的action使用

    這篇文章主要介紹了parser.add_argument中的action使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python面向?qū)ο笾惡蛯?duì)象

    Python面向?qū)ο笾惡蛯?duì)象

    這篇文章主要為大家介紹了Python類和對(duì)象,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • 吳恩達(dá)機(jī)器學(xué)習(xí)練習(xí):SVM支持向量機(jī)

    吳恩達(dá)機(jī)器學(xué)習(xí)練習(xí):SVM支持向量機(jī)

    這篇文章主要為我們帶來了吳恩達(dá)機(jī)器學(xué)習(xí)的一個(gè)練習(xí):SVM支持向量機(jī),通過本次練習(xí)相信你能對(duì)機(jī)器學(xué)習(xí)深入更進(jìn)一步,需要的朋友可以參考下
    2021-04-04
  • Python之Web框架Django項(xiàng)目搭建全過程

    Python之Web框架Django項(xiàng)目搭建全過程

    這篇文章主要介紹了Python之Web框架Django項(xiàng)目搭建全過程,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05
  • Django視圖和URL配置詳解

    Django視圖和URL配置詳解

    這篇文章主要介紹了Django視圖和URL配置詳解,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • Python 虛擬環(huán)境venv詳解

    Python 虛擬環(huán)境venv詳解

    Python 虛擬環(huán)境主要是為不同 Python 項(xiàng)目創(chuàng)建一個(gè)隔離的環(huán)境,每個(gè)項(xiàng)目都可以擁有獨(dú)立的依賴包環(huán)境,而項(xiàng)目間的依賴包互不影響,對(duì)Python 虛擬環(huán)境venv相關(guān)知識(shí)感興趣的朋友一起看看吧
    2021-09-09
  • pytorch:model.train和model.eval用法及區(qū)別詳解

    pytorch:model.train和model.eval用法及區(qū)別詳解

    今天小編就為大家分享一篇pytorch:model.train和model.eval用法及區(qū)別詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • 一篇文章快速了解Python的GIL

    一篇文章快速了解Python的GIL

    這篇文章主要介紹了一篇文章快速了解Python的GIL,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01

最新評(píng)論