当我试图用final_header_update中的','分割并得到数组的第一个元素时,我得不到我需要的东西。
import time
with open("master.txt", "r") as data1:
master = data1.read().rstrip().split("\n")
with open("Security_Headers_list.txt", "r") as data2:
for line in data2:
num, cat = line.rstrip().split(",", 1)
headers=num +','+','.join('1' if t in cat else '0' for t in master)
useragent_id=str(1)
date=time.strftime("%d/%m/%Y")
final_header_update=headers+","+date+","+useragent_id
print final_header_update
for db_update in final_header_update:
a=db_update.split(",")
print a[0]
Final_header_update的输出是:
1006,1,1,1,1,1,1,08/06/2015,1
我的输出为:
1
0
0
6
1
1
1
1
1
1
0
8
/
0
6
/
2
0
1
5
1
而不仅仅是ID:1006
答案 0 :(得分:2)
你得到这个是因为你正在循环final_header_update
for db_update in final_header_update:
这个for循环将导致遍历final_header_update
中的每个字符,这是我们不想要的。
为了获得更清晰的图片,我们可以考虑
>>> final_header_update = "1006,1,1,1,1,1,1,08/06/2015,1"
>>> for db_update in final_header_update:
... print db_update
...
1
0
0
6
,
# And so on
<强>解决方案强>
相反,你可以写(那就是摆脱for
循环)
print final_header_update
a = final_header_update.split(',')
print a[0]
# Will give the output
# 1006
答案 1 :(得分:1)
问题出在for db_update in final_header_update:
相反,直接做:
a=final_header_update.split(",")
print a[0]