最近腾讯开放平台上架管理的比较严,需要软件著作权,申请软件著作权又需要五万行项目代码,想想就头大,正好最近在学习Python,好歹也是个程序员,这种重复性的工作,当然是要用程序解决咯,就写了一个遍历项目包下java文件并写入一个word文件的小脚本,脚本很简单,一个Python熟手应该不到二十分钟就能写完,但是自己写了快一个上午,所以在这里把自己的思考问题解决问题的整个过程记录下来,方便自己回顾复盘,如果能有人提出我思路上的不足,就更好了

简单介绍一下自己的Python环境,Python版本:3.6.3,IDE:PyCharm,这里非常建议用PyCharm,简单方便,尤其是安装一些包,直接用类似androidstudio的插件选项即可,如下图,不需要自己在命令行pip,容易出各种错误,感觉比起折腾各种环境,还是打代码更愉快啊。

PyCharm的包管理.png

首先找一个能操作word的Python包,这里我百度到的是python-docx,简单看了一下,语法简单,基本满足我们的需要,下一步是想办法遍历我们的android项目,一般的结构都是树形结构,这里虽说学过Python,可是不经常联系已经把IO部分全部忘记,所以百度一个Python遍历文件的代码,找到了下面这个东西,嗯,listdir应该是遍历文件夹,那么pathDir就是文件的列表,循环列表,os.path.join什么鬼完全忘记了,百度一下,合成一个路径,ok了解。

def eachFile(filepath):

pathDir = os.listdir(filepath)

for allDir in pathDir:

child = os.path.join('%s%s' % (filepath, allDir))

print child.decode('gbk') # .decode('gbk')是解决中文显示乱码问题

找到了遍历文件代码,下一步是把文件读出来,嗯......忘了,去找廖大的Python教程看看,找到了下面这句话,理解一下代码,把需要传路径的地方替换下就行啦

廖大的Python教程截图

好的,下一步是把这些东西写到word文件里面,找python-docx文档,看看这个库怎么用

整理一下代码:运行,报错(需要注意的是 'E:/zyd2017/TianHongBauMu/app/src/main/java/com/xxx/xxx'这里用的是“ / ”而不是“ \ ”,在Python里面“ \ ”有特殊的含义,我在这里调试了很久...大概我是傻的吧)

import os

from docx import Document

def ergodicFile(document , path):

fileLists = os.listdir(path)

for fileItem in fileLists:

filePath = path + "/" + fileItem

print("filePath:" + filePath)

with open(filePath , 'r', encoding='UTF-8') as readContent:

document.add_paragraph(readContent.read())

document = Document()

ergodicFile(document , 'E:/zyd2017/TianHongBauMu/app/src/main/java/com/xxx/xxx')

document.save('test.docx')

报错截图1

报错截图2

Permission denied,什么情况,是文件权限不允许吗?百度下,管理员身份运行脚本?这个好难...再去看看报错日志,看一下路径,等下为什么是个文件夹不是java文件呢,这时候想起来自己遍历的是树形结构,¥%&……#&……,好吧,判断一下是不是java文件,然后一个递归解决掉这个问题,运行,完美

import os

from docx import Document

def ergodicFile(document , path):

fileLists = os.listdir(path)

for fileItem in fileLists:

filePath = path + "/" + fileItem

print("filePath:" + filePath)

if filePath.endswith(".java"):

with open(filePath , 'r', encoding='UTF-8') as readContent:

document.add_paragraph(readContent.read())

else:

print("not endwith filePath:" + filePath)

ergodicFile(document , filePath)

document = Document()

ergodicFile(document , 'E:/zyd2017/TianHongBauMu/app/src/main/java/com/xxx/xxx')

document.save('test.docx')

python循环遍历word,Python遍历文件写入word相关推荐

  1. Python-生成word、docs文件[生成word文档]

    Python-生成word.docs文件[生成word文档] 方法一:写入新建文档 安装第三方库 实现代码 运行结果 注意 方法二:运用模板写入word文档 安装第三方库 创建模板或修改模板 实现代码 ...

  2. python es 数据库_Python将json文件写入ES数据库的方法

    1.安装Elasticsearch数据库 PS:在此之前需首先安装Java SE环境 下载elasticsearch-6.5.2版本,进入/elasticsearch-6.5.2/bin目录,双击执行 ...

  3. PYTHON循环读取多个excel文件并处理的代码

    这里有一段简单的Python代码,可以用来循环读取多个Excel文件,并处理它们: import pandas as pd 列出文件夹中所有Excel文件 excel_files = [f for f ...

  4. python循环 break举例,python循环中使用break语句终止循环

    break语句是用来 终止 循环语句的,即哪怕循环条件没有称为False或序列还没有被完全递归,也停止执行循环语句. 一个重要的注释是,如果你从for或while循环中 终止 ,任何对应的循环else ...

  5. python 读取excel表格数据,然后写入word模板,批量生成

    Python 读取excel及批量生成word模板 问题-来源 前几天,我姐遇见了一个难题:需要从excel表格中不断复制数据到word模板中,相当繁琐,询问我有没有解决的办法.于是我百度了一下,借鉴 ...

  6. Python编程从入门到实践~文件写入

    #写入文件 filename = './data/programming.log' with open(filename, 'w') as file_object:file_object.write( ...

  7. python pandas读取excel-python pandas 读取文件 写入文件excel

    读取数据 import pandas as pd import collections def readLocationCodeForExcel(): read_file = r"test. ...

  8. gif演示python循环_用Python将动态GIF图片倒放播放的方法

    这次让我们一个用 Python 做一个小工具:将动态 GIF 图片倒序播放! GIF(Graphics Interchange Format) 是一种可以用来呈现动画效果的图片格式,原理就是保存很多帧 ...

  9. 程序语言python循环_《python语言程序设计》_第5章_循环

    #5.1_引言 程序1: 结果: 程序2: 结果: sum is 45 ##注意整个循环语句都要内缩进循环内部 ##ctrl+c中止一个无限循环运行 程序清单5-1: 结果: #5.2.1_实例研究: ...

最新文章

  1. MFC框架类、文档类、视图类相互访问(及窗口句柄获取)的方法
  2. Python3报错:TypeError: unsupported operand type(s) for +: ‘int‘ and ‘str‘
  3. 【Qt】数据库用户接口层
  4. mac https本地跨域配置
  5. 永中向香港博览会主办方演示云办公(转载)
  6. java sybase存储过程_sybase存储过程-----不定时更新
  7. C++类型转换运算符 static_cast,dynamic_cast,reinterpret_cast,const_cast
  8. 人工与计算机解决问题的异同,1.1计算机解决问题的过程ppt课件 .ppt
  9. 一个线性四叉树编码的试题
  10. 文字表情 emoji 解析大全
  11. 西门子PLC指令寻址方式
  12. 【更新中】SmartGit 注册码 算法注册机
  13. 吃饭 睡觉 打豆豆!!!
  14. 三,java流程控制常见练习题及面试题
  15. 什么是Window【What Is a Window?】
  16. 老领导调岗,你想跟他干,怎么说?
  17. 安全帽图像识别python_基于opencv的安全帽佩戴检测
  18. 一个用js写的沙漏程序 hourglass
  19. Android版本新特性(6-12)(13预览)
  20. 程序员必备神器:一款开源的不良坐姿监测应用 「PoseMon 让爷康康」

热门文章

  1. 论文写作全攻略|一篇学术科研论文该怎么写
  2. 班旗怎么用软件设计,微信朋友圈投票软件[必看]如何制作
  3. TL431在电源方面的应用
  4. 收集全库统计信息的解释
  5. 访问网络文件共享服务
  6. Java日期格式中的DD和dd的差别
  7. (四)从零开始学习模糊控制——语言变量蕴含关系
  8. vue store理解状态管理(vue笔记之store)
  9. javascript中的常量
  10. c语言常用的条件编译,C语言条件编译