资讯 小学 初中 高中 语言 会计职称 学历提升 法考 计算机考试 医护考试 建工考试 教育百科
栏目分类:
子分类:
返回
空麓网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
空麓网 > 计算机考试 > 软件开发 > 后端开发 > Python

【Python]申请软著之JavaWeb项目自动生成源代码文档

Python 更新时间: 发布时间: 计算机考试归档 最新发布

【Python]申请软著之JavaWeb项目自动生成源代码文档

软著统计行数代码见我上一篇。

Java Web项目一弄就是4万行,这还只是java文件,没有包含html,js,xml那些,可见废话有多少。

改改顶部的几个参数,直接运行,会生成个output.txt,然后把内容粘贴到word里面,设置下行距,固定值12磅,刚好满足每页至少50行的要求。

然后4000行代码肯定会超过60页,然后从中间删除几个类即可。

成品 output.txt 格式类似如下,就是多了个带包路径的java文件名,和最后的空行。

com.ruoyi.web.controller.common.CommonController.java
package com.ruoyi.web.controller.common;
import javax.servlet.http.HttpServletRequest;

@Controller
public class CommonController
{
....
}

com.xxx.yyy.zzz.Hello.java
package com.xxx.yyy.zzz;
import xxxxx;

.....

Python脚本如下:

用到了with语法和切片,讲到这,推荐大家看下python的中阶书《流畅的Python》,挺好的书,但不适合初学者,适合Java转Python的程序员。

# 适用于python 3.7 

import os

# C:UsersMDesktop1myproruoyi-adminsrcmainjavacomruoyiwebcontrollerdemocontrollerDemoDialogController.java

projectDir='C:\Users\M\Desktop\1\whjcwzh'  #项目文件夹
baseDir='C:\Users\M\Desktop\1\whjcwzh\ruoyi-admin\src\main\java\' #需要扣掉,只打印包路径
typeList = ['java']     #统计的源代码文件格式
fileCode = 'utf-8'        #源代码文件的编码格式
output = 'C:\Users\M\Desktop\1\mypro\output.txt'
printLines =4000        #每页不少于50行,前、后各连续30页,共60页。4000行中间后面删一点就够了。
 

def getFileList(projectDir):
    fileList = []
    for parent,dirNames,fileNames in os.walk(projectDir):
        for filename in fileNames:
            ext = filename.split('.')[-1]
            if ext in typeList:
                fileList.append(os.path.join(parent,filename))
    return fileList
 
def writeTxt(infileName, fileCode, output):
    count = 0
    with open(output,'at',encoding="utf-8") as fout:
        
        #写文件名,要包括包名 com.mypro.web.controller.demo.Hello.java
        filepkg = infileName[len(baseDir):].replace('\','.') + "n"
        fout.write(filepkg)

        #写代码正文
        for line in open(infileName,'r',encoding=fileCode).readlines():
            if line != '' and line != 'n':       #过滤空行
                count += 1
                fout.write(line)
                
        #文件打印结束,空出一行
        fout.write("n")

    print (infileName + '--write line num--' , count)
    return count
 
if __name__ == '__main__' :
    fileList = getFileList(projectDir)
    totalCnt = 0
    for sourcefile in fileList:
        totalCnt = totalCnt + writeTxt(sourcefile, fileCode, output)
        if(totalCnt > 4000):
            print("最后一个文件是:", sourcefile)
            break
    print ('总行数',totalCnt)

转载请注明:文章转载自 http://www.konglu.com/
本文地址:http://www.konglu.com/it/325670.html
免责声明:

我们致力于保护作者版权,注重分享,被刊用文章【【Python]申请软著之JavaWeb项目自动生成源代码文档】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2023 成都空麓科技有限公司

ICP备案号:蜀ICP备2023000828号-2