Python脚本未找到在文件中明显存在的字符串

2024-10-06 09:59:37 发布

您现在位置:Python中文网/ 问答频道 /正文

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


Tags: 文件csv字符串in堆栈codetcprow
1条回答
网友
1楼 · 发布于 2024-10-06 09:59:37

csv.reader读取时,每一行都是字符串列表,“SYN”和“ACK”将是列表中的连续元素。只要使用open

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

每一行都将是一个字符串,正如您所希望的那样。不过,您可能想删除新行

相关问题 更多 >