用于自动排版,扫描该目录下所有.py文件成一个docx文档,以方便填写实验报告。当然了,您也可以修改这份代码以筛选您想合并的文件类型。
例子:有一个文件夹,里面有一堆子目录,然后一堆文件。
把他们生成一个docx文件,这么用:
结果:
代码:
#用于自动排版,扫描该目录下所有.py文件成一个docx文档,以方便填写实验报告
#Auhor:diluyedi
#2021.1.5.5
import os
from docx.oxml.ns import qn
from docx import *
document = Document()
document.styles['Normal'].font.name = 'Times New Roman'
document.styles['Normal']._element.rPr.rFonts.set( qn('w:eastAsia'),u'宋体')
document.add_heading('代码整合', 0)
path = "."
#files= os.listdir(path)
files0=[]
def print_files(path):
lsdir = os.listdir(path)
dirs = [i for i in lsdir if os.path.isdir(os.path.join(path, i))]
if dirs:
for i in dirs:
print_files(os.path.join(path, i))
files = [i for i in lsdir if os.path.isfile(os.path.join(path,i))]
#print(files)
for f in files:
files0.append(os.path.join(path, f))
#return (os.path.join(path, f))
print_files(path)
print(files0)
for file in files0:
#position = path+'\\'+ file
if file[-2:]!="py":
continue
if file==".\代码合并.py":
continue
document.add_heading(file, 1)
print(file)
with open(file, "r",encoding='UTF-8') as f:
data = f.read()
p = document.add_paragraph(data)
document.save('code.docx')