認爲我在這裏做了一些愚蠢的事情,我如何使用正則表達式在python中搜索ip地址的文件?如何使用正則表達式搜索csv文件的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
,當我跑的?它試圖在錯誤的地方使用匹配變量嗎?
當你的代碼產生錯誤時,不僅要指定它或它們是什麼,而且還要知道它們在哪裏發生。更好的辦法是在可能的情況下包含完整的Traceback。除此之外,提供樣本輸入數據對於其他人爲您找到解決方案也非常有用。 – martineau
你能從文件中發佈一些例子嗎? –
問題可能是因爲'csv.reader'產生的'x'值都是值**的**列表**。您可能需要將它的每個元素分別傳遞給''re.findall()'',或者僅傳遞與csv文件中可能包含ip地址的列對應的元素,如'x [3] '。 – martineau