zoukankan      html  css  js  c++  java
  • 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\qaqDesktop\aaa'
        # 读取后txt的保存路径
        write_path = 'C:\Users\qaqDesktop\bbb'
        getCode.start(read_path,write_path)
    

      




  • 相关阅读:
    SpringBoot打包 jar文件太小 无jar
    公共dns
    SpringBoot解决跨域问题
    git学习-来自慕课网
    SpringBoot Value 'xxx' is not a valid duration
    Maven生成项目
    github-自我使用-滑稽
    jsonp示列
    mysqldump 备份和恢复整理
    myql二进制日志
  • 原文地址:https://www.cnblogs.com/littleBees/p/14809714.html
Copyright © 2011-2022 走看看