如何解决python中的分裂问题



当我试图与','从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

你得到这个是因为你在循环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
<<p> 解决方案/strong>

相反,你可以写(这是摆脱for循环这样)

print final_header_update
a = final_header_update.split(',')
print a[0]
# Will give the output
# 1006

问题在for db_update in final_header_update:

直接写:

a=final_header_update.split(",")
print a[0]

最新更新