python - 在python中循环错误的行数
问题描述
我创建了一个脚本,但脚本上的循环没有得到尊重。出于某种原因,它返回了更多应该返回的行(只有 3 行才是正确的返回)。
sample.txt 文件内容如下:
Server1
Server2
Server3
在我的代码中,它应该只使用 sample.txt 中的 3 个服务器进行附加,但是,我得到的输出是:
[{'ApplicationName': 'App01', 'ServerList': ['server1'], 'StartDate': '2020-12-12 12:00:00', 'EndDate': '2020-12-12 13:00:00', 'SourceTool': 'Moon'}]
[{'ApplicationName': 'App01', 'ServerList': ['server1'], 'StartDate': '2020-12-12 12:00:00', 'EndDate': '2020-12-12 13:00:00', 'SourceTool': 'Moon'}, {'ApplicationName': 'App01', 'ServerList': ['server2'], 'StartDate': '2020-12-12 12:00:00', 'EndDate': '2020-12-12 13:00:00', 'SourceTool': 'Moon'}]
[{'ApplicationName': 'App01', 'ServerList': ['server1'], 'StartDate': '2020-12-12 12:00:00', 'EndDate': '2020-12-12 13:00:00', 'SourceTool': 'Moon'}, {'ApplicationName': 'App01', 'ServerList': ['server2'], 'StartDate': '2020-12-12 12:00:00', 'EndDate': '2020-12-12 13:00:00', 'SourceTool': 'Moon'}, {'ApplicationName': 'App01', 'ServerList': ['server3'], 'StartDate': '2020-12-12 12:00:00', 'EndDate': '2020-12-12 13:00:00', 'SourceTool': 'Moon'}]
以下是正确的输出方式:
[{'ApplicationName': 'App01', 'ServerList': ['server1'], 'StartDate': '2020-12-12 12:00:00', 'EndDate': '2020-12-12 13:00:00', 'SourceTool': 'Moon'},
{'ApplicationName': 'App01', 'ServerList': ['server2'], 'StartDate': '2020-12-12 12:00:00', 'EndDate': '2020-12-12 13:00:00', 'SourceTool': 'Moon'},
{'ApplicationName': 'App01', 'ServerList': ['server3'], 'StartDate': '2020-12-12 12:00:00', 'EndDate': '2020-12-12 13:00:00', 'SourceTool': 'Moon'}]
我究竟做错了什么?下面是我正在使用的脚本:
list = []
with open('sample.txt') as f:
lines = [line.rstrip() for line in f]
for x in lines:
data = {
"ApplicationName" : 'App01',
"ServerList" : [x],
"StartDate" : '2020-12-12 12:00:00',
"EndDate" : '2020-12-12 13:00:00',
"SourceTool" : 'Moon'
}
list.append(data)
print(list)
解决方案
你的代码是正确的。你只需要取消缩进print(list)
它就可以了。目前,该print
语句在for
循环内。
这是固定代码:
list = []
with open('sample.txt') as f:
lines = [line.rstrip() for line in f]
for x in lines:
data = {
"ApplicationName" : 'App01',
"ServerList" : [x],
"StartDate" : '2020-12-12 12:00:00',
"EndDate" : '2020-12-12 13:00:00',
"SourceTool" : 'Moon'
}
list.append(data)
print(list)
推荐阅读
- r - 使用 R 中的字典对字符进行分类
- python - MySQLdb._exceoption.OperationalError 由于夏令时
- sql-server - Confluent 平台:源连接器 (jdbc) 不断提取旧数据
- tensorflow - Tensorflow 对象检测 API - 为边界框设置特定颜色
- typo3 - 如何从登录页面 TYPO3 重定向
- mysql - MySQL:清除后二进制日志记录大幅增加
- android - NDK、fscanf 和浮动常量
- wpf - 在 WPF ContextMenu 中使用当前显示比例
- javascript - GA 调试显示电子商务交易发送,但数据未显示
- .htaccess - 如何使用 .htaccess 映射不同的 URL