Python學習筆記組織文件之將指定目錄下的指定格式文件Copy到指定文件夾


隨筆記錄方便自己和同路人查閱。

#------------------------------------------------我是可恥的分割線-------------------------------------------

  假如你想把一個路徑下的某格式文件都復制到另一個文件夾中,如果文件較多,手動復制可能會比較繁瑣和麻煩,重要的是還可能復制錯了,所以你希望有

一段程序幫你完成這個繁瑣且容易出錯的工作。

#------------------------------------------------我是可恥的分割線-------------------------------------------

  將指定目錄下的指定格式文件復制到想要的目錄下,示例代碼:

#! python 3
# -*- coding:utf-8 -*-
# Autor: Li Rong Yang
'''
Copy指定格式的文件到新文件夾
'''
import shutil,os
#定義函數,接收傳入的值
def SFileToDFile(sourcefile,fileclass,destinationfile):
    #遍歷目錄和子目錄
    for filenames in os.listdir(sourcefile):
        #取得文件或文件名的絕對路徑
        filepath = os.path.join(sourcefile,filenames)
        #判斷是否為文件夾
        if os.path.isdir(filepath):
            #如果是文件夾,重新調用該函數
            SFileToDFile(filepath,fileclass,destinationfile)
        #判斷是否為文件
        elif os.path.isfile(filepath):
            #如果該文件的后綴為用戶指定的格式,則把該文件復制到用戶指定的目錄
            if filepath.endswith(fileclass):
                #dirname = os.path.split(filepath)[-1]
                #給出提示信息
                print('Copy %s'% filepath +' To ' + destinationfile)
                #復制該文件到指定目錄
                shutil.copy(filepath,destinationfile)
#函數調用
SFileToDFile('d:\\quiz','.txt','d:\\test')

  運行結果:根據運行結果可以看出復制的文件有哪些,和復制到了那個目錄下

  假如你想刪除指定的文件,可以這樣寫,示例代碼:

#! python 3
# -*- coding:utf-8 -*-
# Autor: Li Rong Yang
'''
Copy指定格式的文件到新文件夾
'''
import shutil,os,send2trash
#定義函數,接收傳入的值
def SFileToDFile(sourcefile,fileclass,destinationfile):
    #遍歷目錄和子目錄
    for filenames in os.listdir(sourcefile):
        #取得文件或文件名的絕對路徑
        filepath = os.path.join(sourcefile,filenames)
        #判斷是否為文件夾
        if os.path.isdir(filepath):
            #如果是文件夾,重新調用該函數
            SFileToDFile(filepath,fileclass,destinationfile)
        #判斷是否為文件
        elif os.path.isfile(filepath):
            #如果該文件的后綴為用戶指定的格式,則把該文件復制到用戶指定的目錄
            if filepath.endswith(fileclass):
                #dirname = os.path.split(filepath)[-1]
                #給出提示信息
                #print('Copy %s'% filepath +' To ' + destinationfile)
                print('Delet %s to recycle bin.'%filepath)
                #刪除文件
                send2trash.send2trash(filepath)
                # 復制該文件到指定目錄
                #shutil.copy(filepath,destinationfile)
#函數調用
SFileToDFile('d:\\quiz','.txt','d:\\test')

  運行結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM