我试图分析包含TCP堆栈跟踪的csv文件。我有条件地检查文件的某一行是否包含某个字符串,然后将其添加到字典中
我要寻找的字符串是:
[SYN]
[SYN, ACK]
我已经多次检查了这个文件。Python可以找到第一个字符串没有问题,但是找不到第二个字符串。以下是检查的代码:
#variable declaration
synString = '[SYN]'
ackString = '[SYN, ACK]'
#some code
#iterate through csv:
with open('EECS325Hw3Lab3', newline = '') as captureFile:
captureReader = csv.reader(captureFile, delimiter=' ')
for row in captureReader:
#code that doesn't work.
if synString in row or ackString in row:
serverDict[currentServer].append(row)
我知道这不起作用,因为当我打印serverDict时,我只看到[SYN]表达式。这里发生了什么
用
csv.reader
读取时,每一行都是字符串列表,“SYN”和“ACK”将是列表中的连续元素。只要使用open每一行都将是一个字符串,正如您所希望的那样。不过,您可能想删除新行
相关问题 更多 >
编程相关推荐