认为我在这里做了一些蠢事,如何使用正则表达式在python中搜索文件中的ip地址?
到目前为止,这就是我所拥有的:
def ip():
ip = csv.reader(open('IP.csv'), delimited=',', quotechar='|')
for x in ip:
match = re.findall(r'(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})',x)
if x == ipmatch:
print(x)
当我运行时,我在哪里错误地获取TypeError: expected string or bytes-like object
?是否试图在错误的地方使用匹配变量?
答案 0 :(得分:0)
CSV文件是一系列行,每行都有多个字段。您的x
变量依次引用每一行;但是一行是一个列表,你不能在列表中使用正则表达式。
我不确定你想要做什么;如果每行只有一个字段,则根本不应该使用csv模块,只需遍历文件中的行。