python快速將代碼源碼全部復制到word文檔


背景介紹

有些場景下需要將系統的所有源碼拷貝在一起,比如:申請軟件著作權時需要提供源碼,一個一個java文件copy就太慢了。

解決方案

利用python腳本讀取並寫入到txt

然后將txt復制到word即可

說明:

txt文件名默認為目錄名,也是java項目工程名稱

代碼:

# coding=utf-8
import os


# import docx
class getCode:
    list_name = []

    # 查找path下所有java文件,reture list
    @classmethod
    def get_jsonfile(cls, path, file_list):
        dir_list = os.listdir(path)
        for x in dir_list:
            new_x = os.path.join(path, x)
            if os.path.isdir(new_x):
                cls.get_jsonfile(new_x, file_list)
            else:
                file_tuple = os.path.splitext(new_x)
                if file_tuple[1] == '.java':
                    file_list.append(new_x)
        return file_list

    @classmethod
    def write_txt(cls, write_path):
        if not os.path.exists(write_path):
            os.makedirs(write_path)
        # 循環讀取文件路徑
        for i in cls.list_name:
            for k,v in i.items():
                file_list = []
                cls.get_jsonfile(v, file_list)
                # 保存到文件
                with open(f'{write_path}\\{k}.txt', "w", encoding='UTF-8') as write_file:
                    for json_file in file_list:
                        with open(json_file, "r", encoding='UTF-8')as read_file:
                            write_file.write(read_file.read())

    @classmethod
    def getListDir(cls, read_path, write_path):
        # 查找 path下所有文件或目錄名稱到list
        dirs = os.listdir(read_path)
        for dir in dirs:
            # 拼接路徑,獲取文件路徑
            path_1 = os.path.join(os.path.abspath(read_path), dir)
            cls.list_name.append({dir:path_1})
        cls.write_txt(write_path)

    @classmethod
    def start(cls, read_path, write_path):
        cls.getListDir(read_path, write_path)


if __name__ == '__main__':
    # 源代碼路徑
    read_path = 'C:\\Users\\qaq\Desktop\\aaa'
    # 讀取后txt的保存路徑
    write_path = 'C:\\Users\\qaq\Desktop\\bbb'
    getCode.start(read_path,write_path)

  





免責聲明!

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



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