Python 忽略 \x00\x00\x00\x00

-2 投票
1 回答
794 浏览
提问于 2025-04-18 18:28

我正在解析一个物品列表,其中有一些内容是 \x00\x00\x00\x00... 这样的。我想跳过这些内容。

我尝试了以下代码:

if "\x00" in item:
     pass

但是这样不行,它还是会读取到这些内容。我该怎么做才能忽略 \x00 呢?

完整代码在这里:https://github.com/codywd/NetGUI/blob/master/main.py,第281到292行是我尝试跳过这些内容的地方。

1 个回答

0

Pass的意思是“什么都不做”。它不会对你的代码产生任何影响,使用它的唯一场合就是你想执行一个条件,但又不想做任何事情。

比如在这里,pass什么都不做,"hello" 仍然会被打印出来。

if True:
    pass
    print "hello"

在这里,pass是except的占位符。Python希望在这里有一行缩进的代码来执行某些操作,但如果你不想在except中做任何事情,可以使用pass

try:
    int(5) + str(5)
except:
    pass

Continue是你想要的,因为它的意思是继续到下一个循环,而不执行后面的代码。

r = csv.reader(tsv, dialect='excel-tab')
aps = {}
i = 0
for row in r:
    network = row[2]
    print(network)
    if network == "":
        continue
    elif "\x00" in network:
        continue
    else:
        aps["row" + str(i)] = self.APStore.append([network, "", "", ""])

编辑:

如果你想执行aps[...]这一行,为什么不直接这样做呢:

if not "\x00" in network:
    aps["row" + str(i)] = self.APStore.append([network, "", "", ""])

撰写回答