Python脚本找不到明确存在于文件中的字符串

时间:2015-10-09 00:47:41

标签: python csv tcp

我正在尝试分析包含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]表达式。这里发生了什么?

1 个答案:

答案 0 :(得分:0)

当你阅读它时,每行csv.reader是一个字符串列表,'SYN'和'ACK'将是列表的连续元素。只需使用open。

for line in open(captureFile):
   if synString in line or ackString in line:
        serverDict[currentServer].append(line)

每行都是一个字符串,如你所愿。但是,您可能想要删除换行符。