1. 程式人生 > >遞迴列印指定路徑下所有檔案內容到指定檔案裡

遞迴列印指定路徑下所有檔案內容到指定檔案裡

# -*- coding: utf-8 -*-   


"""遞迴列印指定路徑下所有檔案
Usage:
printDirectory <printFilePath> <saveFilePath>

"""

from docopt import docopt
import os

#遍歷資料夾   
def iter_files(printFilePath, saveFilePath):
    #遍歷根目錄
    for root,dirs,files in os.walk(printFilePath):
        for file in files:
            file_name = os.path.join(root,file)
            print(file_name)
            with open(file_name, 'r', encoding = 'utf-8') as f_read:
                with open(saveFilePath, 'a', encoding = 'utf-8') as f_write:
                    f_write.write(f_read.read())
        for dirname in dirs:
            #遞迴呼叫自身,只改變目錄名稱
            iter_files(dirname, saveFilePath)


if __name__ == '__main__':
    # 將繫結互動引數
    arguments = docopt(__doc__)
    printFilePath = arguments['<printFilePath>']
    saveFilePath = arguments['<saveFilePath>']
    iter_files(printFilePath, saveFilePath)