Python读文件写文件(txt)

场景:

需要造一个XML文件,参数有来自数据库的,有特定范围的value。
简单化可以从文本取值放入另一个文本,再格式化成XML。
如下:

 <L1 no="1234567890">
        <L2>
           <L3-1>A</L3-1>
           <L3-2>33</L3-2>
        </L2>
 </L1>
 <L1 no="0123456789">
        <L2>
           <L3-1>F</L3-1>
           <L3-2>36</L3-2>
        </L2>
 </L1>
 ...

方法:

可以抽象出三个参数:
参数1 ’no‘来自数据库
参数2 random [“A”,“F”]
参数3 random {30-40}

对于参数我们运用以下方式处理:

  1. 参数1:我们从数据库取出放入source.txt表,写入目标文件target.txt
#-*- coding: UTF-8 -*- 
with open("target.txt","w") as T:
  for line in open("source.txt"):  #一行一行地读
      T.write(line)        #一行一行地写
  1. 参数2: random.randint() 随机生一个整数int类型,可以指定这个整数的范围,同样有上限和下限值。

  2. 参数3:random.choice() 可以从任何序列,比如list列表中,选取一个随机的元素返回,可以用于字符串、列表、元组等。

最终脚本如下:

#-*- coding: UTF-8 -*- 
import random
p2_list= ["A","F"]
with open("target.txt","w") as fn:  #'w' 文件不存在自动创建,如存在清空
    for p1 in open("source.txt"):  
        p1 = p1.rstrip('\n')
        p2 = random.choice(p2_list)
        p3 = str(random.randint(31,39))
        fn.write("<L1 no=" + p1 + '''>        #拼接字符串
                     <L2>
                        <L3-1>''' + p2 + '''</L3-1>
                        <L3-2>''' + p3 + '''</L3-2>
                     </L2>
                  </L1>
                       ''')

s.strip(rm) 删除s字符串中开头、结尾处,位于 rm删除序列的字符
s.lstrip(rm) 删除s字符串中开头处,位于 rm删除序列的字符
s.rstrip(rm) 删除s字符串中结尾处,位于 rm删除序列的字符

运行后:
目标文件

菜鸟初期,没有考虑代码的效率和性能。以跑出结果为目的,欢迎老鸟拍砖指点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值