最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python搜索指定類型文件以及批量移動文件程序詳解

 更新時(shí)間:2022年03月04日 09:20:15   作者:侯小啾  
這篇文章主要給大家介紹了關(guān)于python搜索指定類型文件以及批量移動文件程序的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

搜索文件并移動的python程序

使用python寫一個(gè)程序,其功能滿足:可以搜索指定目錄下的某類型的文件,并可以移動到指定的目錄。

                   請?zhí)砑訄D片描述

1.示例文件及路徑準(zhǔn)備

作為示例,在D盤中放一個(gè)名為pic1的文件夾,在該文件夾中放入兩個(gè)png圖片,并在pic1內(nèi)再創(chuàng)建一個(gè)文件夾,里邊也隨便放兩張png圖片。如圖所示。

在D盤的ABC文件夾中,創(chuàng)建一個(gè)名為pic2的文件夾。

本程序要求:搜索目錄"D://pic1"下的所有文件擴(kuò)展名為png的圖片。并將其全部移動至"D://ABC/pic2"目錄下。

2.代碼示例

分別定義一個(gè)搜索函數(shù)和一個(gè)批量移動函數(shù)。

搜索函數(shù)需要傳入的參數(shù)為root:要搜索的目錄;target為目標(biāo)文件類型(即擴(kuò)展名)。

搜索函數(shù)輸出 由目標(biāo)文件path+文件名構(gòu)成的列表。

批量移動函數(shù)傳入的file_list參數(shù)是一個(gè)列表,形如搜索函數(shù)的輸出結(jié)果,元素為帶有path的文件名。dest為需要移動到的目錄。

import os, shutil

file_list = []

# 搜索函數(shù)
def search_file(root, target):
    for file in os.listdir(root):
        path = root
        try:
            path = path + os.sep + file
            if os.path.isdir(path):
                search_file(path, target)
            else:
                if file.split('.')[-1] == target:
                    file_list.append(path)
        except PermissionError as e:
            print(e)
    return file_list


# 批量移動函數(shù)
def move_file(file_list, dest):
    for file in file_list:
        try:
            shutil.move(file, dest)
        except shutil.Error as e:
            print(e)


# 寫入目標(biāo)參數(shù)root,
def main():
    root = "D:\\pic1"
    target = "png"
    dest_dir = "D:\\ABC\\pic2"
    result = search_file(root, target)
    print(result)
    move_file(result, dest_dir)


if __name__ == '__main__':
    main()

如圖,目標(biāo)文件被成功搜索出并轉(zhuǎn)移:

  • 其中搜索函數(shù)需要用到遞歸的寫法,對文件夾中的不定數(shù)的文件夾進(jìn)行遍歷。
  • 且在其中使用到了異常處理的寫法,是為了避免遇到不可訪問的系統(tǒng)文件夾,導(dǎo)致程序運(yùn)行中斷。(除C盤外,這樣的文件夾通常不會在二級中,比如在D盤的根目錄下可能會有。這里的異常處理寫法可以有效解決該問題。)

3.命令行寫法

將上述代碼改寫文能在命令行傳參、調(diào)用的形式。

首先將目標(biāo)文件放回原路徑,放好。

import sys
import os, shutil
file_list = []

# 定義一個(gè)搜索功能的函數(shù)
def search_file(root, file_name):
    for file in os.listdir(root):
        path = root
        try:
            path = path + os.sep + file
            if os.path.isdir(path):
                search_file(path, file_name)
            else:
                if file.split('.')[-1] == file_name:
                    file_list.append(path)
        except PermissionError:
            pass
    return file_list

def move_file(file_list, dest):
    for file in file_list:
        shutil.move(file, dest)

def main(argv):
    root = argv[1]
    target = argv[2]
    dest_dir = argv[3]
    result = search_file(root, target)
    print(result)
    move_file(result, dest_dir)

if __name__ == '__main__':
    main(sys.argv)

打開cmd,目錄調(diào)整好后,輸入py文件名(這里為demo.py)及依次傳入三個(gè)參數(shù)。

即執(zhí)行命令:

代碼成功運(yùn)行,目標(biāo)文件位置被更改。

總結(jié)

到此這篇關(guān)于python搜索指定類型文件以及批量移動文件程序詳解的文章就介紹到這了,更多相關(guān)python搜索指定類型文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python可視化單詞統(tǒng)計(jì)詞頻統(tǒng)計(jì)中文分詞的實(shí)現(xiàn)步驟

    Python可視化單詞統(tǒng)計(jì)詞頻統(tǒng)計(jì)中文分詞的實(shí)現(xiàn)步驟

    這篇文章主要介紹了Python可視化單詞統(tǒng)計(jì)詞頻統(tǒng)計(jì)中文分詞,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-11-11
  • Python類型提示Type Hints示例詳解

    Python類型提示Type Hints示例詳解

    在做自動化測試的時(shí)候,類型提示會讓你寫代碼時(shí)更加流程,當(dāng)你在一個(gè)模塊定義了類型,而其他模塊沒有提示的時(shí)候,是相當(dāng)不方便,這篇文章主要給大家介紹了關(guān)于Python類型提示Type Hints的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • Python對DataFrame中所有行數(shù)據(jù)進(jìn)行比較的幾種方法

    Python對DataFrame中所有行數(shù)據(jù)進(jìn)行比較的幾種方法

    在數(shù)據(jù)分析中,比較DataFrame數(shù)據(jù)框中的行是一項(xiàng)基本操作,可應(yīng)用于多種場景,在本文中,我們將學(xué)習(xí)各種方法,將DataFrame中的行與每一行進(jìn)行比較,直到所有行都被比較完,結(jié)果存儲在一個(gè)列表中,需要的朋友可以參考下
    2024-12-12
  • 淺談利用numpy對矩陣進(jìn)行歸一化處理的方法

    淺談利用numpy對矩陣進(jìn)行歸一化處理的方法

    今天小編就為大家分享一篇淺談利用numpy對矩陣進(jìn)行歸一化處理的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • opencv 形態(tài)學(xué)變換(開運(yùn)算,閉運(yùn)算,梯度運(yùn)算)

    opencv 形態(tài)學(xué)變換(開運(yùn)算,閉運(yùn)算,梯度運(yùn)算)

    這篇文章主要介紹了opencv 形態(tài)學(xué)變換(開運(yùn)算,閉運(yùn)算,梯度運(yùn)算),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • python畫圖——實(shí)現(xiàn)在圖上標(biāo)注上具體數(shù)值的方法

    python畫圖——實(shí)現(xiàn)在圖上標(biāo)注上具體數(shù)值的方法

    今天小編就為大家分享一篇python畫圖——實(shí)現(xiàn)在圖上標(biāo)注上具體數(shù)值的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python?Tkinter庫從入門到進(jìn)階使用教程

    Python?Tkinter庫從入門到進(jìn)階使用教程

    Tkinter是Python標(biāo)準(zhǔn)庫中內(nèi)置的圖形用戶界面(GUI)工具包,提供了創(chuàng)建窗口、按鈕、文本框等GUI元素的功能,本文將介紹Tkinter的基礎(chǔ)知識,幫助大家快速入門
    2023-12-12
  • python執(zhí)行shell腳本的四種方法

    python執(zhí)行shell腳本的四種方法

    在Python中提供了很多的方法可以調(diào)用并執(zhí)行shell腳本,本文主要介紹了python執(zhí)行shell腳本的四種方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 利用python代碼管理Word文檔屬性信息

    利用python代碼管理Word文檔屬性信息

    在Word文檔管理中,文檔屬性包含與文檔有關(guān)的關(guān)鍵信息,如標(biāo)題、作者、創(chuàng)建日期等,是進(jìn)行文檔管理的重要工具,本文將展示如何利用Python代碼來靈活操控Word文檔的屬性信息,從而滿足個(gè)性化與批量化文檔處理的需求,需要的朋友可以參考下
    2024-05-05
  • Python通過四大 AutoEDA 工具包快速產(chǎn)出完美數(shù)據(jù)報(bào)告

    Python通過四大 AutoEDA 工具包快速產(chǎn)出完美數(shù)據(jù)報(bào)告

    在三年前,我們做數(shù)據(jù)競賽或者數(shù)據(jù)建模類的項(xiàng)目時(shí),前期我們會耗費(fèi)較多的時(shí)間去分析數(shù)據(jù),但現(xiàn)在非常多擅長數(shù)據(jù)分析的大師們已經(jīng)將我們平時(shí)??吹臄?shù)據(jù)方式進(jìn)行了集成,開發(fā)了很多AutoEDA的工具包。可以幫助我們節(jié)省大量時(shí)間
    2021-11-11

最新評論

崇左市| 增城市| 辽阳县| 崇礼县| 阿合奇县| 舒城县| 建瓯市| 嘉祥县| 囊谦县| 永安市| 南靖县| 黔西县| 江门市| 和龙市| 新竹市| 泌阳县| 如东县| 叶城县| 贵南县| 秦皇岛市| 集贤县| 原平市| 元朗区| 盐亭县| 禹州市| 会昌县| 三门县| 柳州市| 平泉县| 南华县| 娱乐| 永新县| 东阿县| 香格里拉县| 连山| 昌黎县| 赞皇县| 长沙县| 盐边县| 昭觉县| 临海市|