python - 如何用随机数量的项目填充 XML 文件
问题描述
出于测试目的,我需要用 1 到 20 个步骤填充一个 XML 文件,例如 1000 行(P0 到 p999),然后添加随机步骤。我怎样才能做到这一点?我找不到任何(好)有很多 for 循环的例子。XML 需要看起来像这样:
我希望在 Python 中做到这一点。
<root>
<P>P0<NPS>20</NPS><STEPS>5,19,22,12,0,3,22,4,11,0,2,7,20,19,16,24,9,2,15,6,</STEPS></P>
<P>P1<NPS>2</NPS><STEPS>12,21,</STEPS></P>
<P>P2<NPS>15</NPS><STEPS>21,23,10,18,23,22,17,4,17,15,17,18,18,14,22,</STEPS></P>
<P>P3<NPS>4</NPS><STEPS>15,24,12,10,</STEPS></P>
...
</root>
解决方案
就像是
import random
NUM_OF_LINES = 10
MAX_NUM_OF_STEPS = 7
STEP_RANGE = 20
TEMPLATE = '<P>P{}<NPS>{}</NPS><STEPS>{}</STEPS></P>'
for i in range(1,NUM_OF_LINES):
steps = random.randint(1,MAX_NUM_OF_STEPS)
step_values = [str(random.randint(0,STEP_RANGE)) for x in range(0,steps)]
line = TEMPLATE.format(i,steps,','.join(step_values))
print(line)
推荐阅读
- node.js - 使用 https 的生产服务器上的 weksocket
- r - 在 R 中使用 Segments 命令绘制烛台图
- javascript - 将 SVG 的一部分保持在固定大小
- react-native - 当我们从反应原生的api中获得响应时如何重定向到新屏幕
- java - 如何在 Java Spring Boot 中模拟 Calendar 实例以进行测试
- javascript - jQuery获取文本不是选中的单选选项的值不起作用
- apache-spark - hive3 - hiveserver2 进程在 2 分钟内崩溃
- alfresco - Alfresco 属性页默认值不应该是预先搜索屏幕的默认值
- scala - Scala-Cats :- 是否可以合并来自不同 NonEmptyLists 的错误?
- html - AngularJs ui-bootstrap Typeahead 与滚动