Это потому, что вы смешиваете str с байтами. Значение файла в байтах, поэтому вы не можете разделить его на строку ('\ r \ n'). У вас есть 2 варианта:
- Преобразовать символ разделения в байт (b '\ r \ n'). В этом случае вы также должны изменить свое условие if, чтобы использовать байты, а также заменить символы, которые у вас есть, вместо байта, поскольку x также является байтами
- преобразовать файл в строку (file.decode ("utf- 8 ") если ваш файл - utf-8) в этом случае ваш код должен работать без каких-либо изменений
Таким образом, простое изменение будет следующим (второй подход)
suspicious = []
zip = zipfile.ZipFile("C:/Users/Oliver/Documents/website_urls/urls.zip")
file = zip.read("domain-names.txt")
for x in file.decode("utf-8").split('\r\n'):
if "apple" in x and "support" in x:
print("suspicious address found"+ x)
suspicious.append(x.replace('\n', ''))
Базовый подход (первый подход)
suspicious = []
zip = zipfile.ZipFile("C:/Users/Oliver/Documents/website_urls/urls.zip")
file = zip.read("domain-names.txt")
for x in file.split(b'\r\n'):
if b"apple" in x and b"support" in x:
print("suspicious address found"+ x)
suspicious.append(x.replace(b'\n', b''))