家具网站建设需求,国际外贸平台有哪些,自己的网站怎么创建,网站建设属于什么合同Python在平时写写小工具真是方便快捷#xff0c;Pyhon大法好。以下所有代码都是找了好多网上的大佬分享的代码按照自己的需求改的。
调用的库为Python-docx、win32com、PyPDF2、xlwings#xff08;操作excel#xff09;。
因为公司的任务要对上千个word文件进行批量操作Pyhon大法好。以下所有代码都是找了好多网上的大佬分享的代码按照自己的需求改的。
调用的库为Python-docx、win32com、PyPDF2、xlwings操作excel。
因为公司的任务要对上千个word文件进行批量操作手工操作太累了于是加班加点赶出来了一个自动化脚本虽然还有很多要优化的地方但已经可以稳定运行了下面记录一下脚本功能。
1 doc转docx
因为Python-docx库只能对docx文件操作所以要转格式直接改后缀不行。
word wc.Dispatch(Word.Application)
# 不能用相对路径老老实实用绝对路径
# 需要处理的文件所在文件夹目录
for root, dirs, files in os.walk(rawpath):for i in files:# 找出文件中以.doc结尾并且不以~$开头的文件~$是为了排除临时文件的if i.endswith(.doc) and not i.startswith(~$):print(i)doc word.Documents.Open(root \\ i)# # 将文件名与后缀分割rename os.path.splitext(i)# 将文件另存为.docxdoc.SaveAs(root \\ rename[0] .docx, 12) # 12表示docx格式doc.Close()# time.sleep(1)
word.Quit()2 找到特定文件
这个比较简单只需要循环遍历文件夹按照队列里的关键字将目标文件添加的队列里即可。
因为转pdf只能是docx所以要找docx文件同时过滤~$文件开头的临时文件。
def findfiles():count 1for root, dirs, files in os.walk(path):for filename in files:for i in range(len(filenames)):if (filenames[i] in filename and filename.endswith(docx) and not filename.startswith(~$) :result.append([count, root \\ filename])count 1breakprint(result)3 所有字体颜色变为黑色
def change_color(path):file Document(path)for pag in file.paragraphs:for block in pag.runs:block.font.color.rgb RGBColor(0, 0, 0)for table in file.tables:for row in table.rows:for cell in row.cells:for cell_pag in cell.paragraphs:for cell_block in cell_pag.runs:cell_block.font.color.rgb RGBColor(0, 0, 0)# 页眉pag_head file.sections[0].headerhead_pag pag_head.paragraphs[0]for run in head_pag.runs:run.font.color.rgb RGBColor(0, 0, 0)# 页脚pag_foot file.sections[0].footerfoot_pag pag_foot.paragraphs[0]for run in foot_pag.runs:run.font.color.rgb RGBColor(0, 0, 0)file.save(path)print(path)print(^*10 颜色切换完成 ^*10)4 docx转pdf
因为分页操作只能pdf实现。
for i in range(len(result)):file result[i][1]name file.rsplit(\\, 1)[1]print(i)if 关键字 in name: # 跳过不需要截取的关键字文件outfile pdf_file_path name[:-5] str(i) .pdfelse:outfile out_path name[:-5] str(i) .pdf if file.split(.)[-1] docx:print(file)convert(file, outfile)print(^*10PDF转换完成^*10)time.sleep(1) 5 截取特定页面
def split_single_pdf(read_file, start_page, end_page, pdf_file):# 1. 获取原始pdf文件fp_read_file open(read_file, rb)# 2. 将要分割的PDF内容格式化pdf_input PdfFileReader(fp_read_file)# 3. 实例一个 PDF文件编写器pdf_output PdfFileWriter()# 4. 把第一页放到PDF文件编写器for i in range(start_page, end_page):pdf_output.addPage(pdf_input.getPage(i))# 5. PDF文件输出with open(pdf_file, wb) as pdf_out:pdf_output.write(pdf_out)print(f{read_file}分割{start_page}页-{end_page}页完成保存为{pdf_file}!)6 调用打印机打印
def printer_loading(filename):win32api.ShellExecute(0, print, filename, /d:%s % win32print.GetDefaultPrinter(), ., 0)7 对execl特定页面打印
def excel_print(execl_path):app xw.App(visibleFalse, add_bookFalse)workbook app.books.open(execl_path)worksheet workbook.sheets[sheet关键字]area worksheet.range(A1:D11) # 打印区域area.api.PrintOut(Copies1, ActivePrinterCanon MF260 Series UFRII LT, CollateTrue)workbook.close()app.quit() 【下面是我整理的2023年最全的软件测试工程师学习知识架构体系图】 一、Python编程入门到精通
二、接口自动化项目实战 三、Web自动化项目实战
四、App自动化项目实战 五、一线大厂简历
六、测试开发DevOps体系 七、常用自动化测试工具
八、JMeter性能测试 九、总结尾部小惊喜
生命不息奋斗不止。每一份努力都不会被辜负只要坚持不懈终究会有回报。珍惜时间追求梦想。不忘初心砥砺前行。你的未来由你掌握
生命短暂时间宝贵我们无法预知未来会发生什么但我们可以掌握当下。珍惜每一天努力奋斗让自己变得更加强大和优秀。坚定信念执着追求成功终将属于你
只有不断地挑战自己才能不断地超越自己。坚持追求梦想勇敢前行你就会发现奋斗的过程是如此美好而值得。相信自己你一定可以做到
最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你