python - 蟒蛇 | 同时写入多个文件
问题描述
使用 python 2.6 并转换为 HTML。
我正在获取原始数据文件并将其转换为 HTML 格式以满足不同的要求并发送给不同的团队,我的代码工作正常,但由于重复相同的操作,我的代码变得越来越长,完成所需的时间也越来越长。- 所有数据都应在 1 个文件中 - 仅在 1 个文件中完成订单 - 仅在 1 个文件中待定订单及以上... 已从以下原始文件中提供了一些示例数据,并带有状态缩写
PE PENDING
QE QUEUE
TR TRANSIT
DU DUPLICATE
PP PENDING PAYMENT
LO LOCAL
DO DOMESTIC
IN INTERNATIONAL
以下是数据文件中的小样本
89u1 CO
iu3e DO
i8qk IN
mai8 LO
ah9s CO
js9a PE
las8 QE
ksp0 QE
jsm4 TR
7ahd DU
akw8 DO
2ish DU
92jd TR
ks3k PE
在下面的代码中,我打开文件并首先处理所有记录,然后对每个状态一个接一个地重复它。由于数据量不断增加,我们有 24 个这样的奇怪状态,并且正在创建 25 个这样的文件,处理时间也在增加。无论如何,我可以一次尝试将标头写入所有文件吗?对于数据,我正在为循环编写检查,这将帮助我节省一些时间,但我主要的头痛是页眉和页脚,这对所有文件都很常见,我必须在每个文件中一一写入。
src="source.txt"
all="all.txt"
fco="co.txt"
fpe="pe.txt"
fqe="qe.txt"
ftr="tr.txt"
src = open("source.txt","r")
fco = open("co.txt","w")
fpe = open("pe.txt","w")
fqe = open("qe.txt","w")
ftr = open("tr.txt","w")
all.write("Date")
all.write("Order Status Report")
all.write("It is order report with all status")
for lines in src.readlines():
...
...
...
all.write("Report contain xx records")
fco.write("Date")
fco.write("Order Status Report")
fco.write("It is order report for Completed")
for lines in src.readlines():
...
...
...
fco.write("Report contain xx records")
fpe.write("Date")
fpe.write("Order Status Report")
fpe.write("It is order report for Pending")
for lines in src.readlines():
...
...
...
fpe.write("Report contain xx records")
感谢所有给我时间阅读和询问的人。
解决方案
怎么样:
write_pointers = [fco, fpe, fqe, ftr]
for pointer in write_pointers:
pointer.write("Date")
pointer.write("Order Status Report")
pointer.write("It is order report with all status")
for lines in src.readlines():
...
...
...
?
推荐阅读
- android - NDK22 升级后,构建失败并出现“无法打开 crtbegin_so.o / crtend_so.o”错误
- json - 查找特定的子字符串,然后使用 shell 命令对下一个出现的变量执行更改
- redisson - RAtomic Long compareAndSet 函数未在多线程环境中重置值
- javascript - 如何将 2 个 div 的 html 内容与 JQuery 进行比较?
- visual-studio-2019 - 使用 sFTP 协议发布我的项目时出错
- abp - ABP.IO CLI:尝试使用 repo 中的 templates\app 文件夹从自定义模板创建应用程序
- solidity - Solidity、solc、web3.js、Ganache 版本组合目前正在工作
- angular - 带有 Universal 和 Ionic 的 Angular SSR 不在页面源中显示实际数据
- html - 如何使用 CSS 伪元素 (:after) 将图像添加为文本背景
- r - 按名称对 flowSet 中的流帧进行排序