#python #python-3.6 #urllib
#python #python-3.6 #urllib
Вопрос:
Как мне проверить наличие строки из текстового файла онлайн? Прямо сейчас я использую urllib.request для чтения данных, но как мне проверить наличие строки из текстового файла онлайн?
Комментарии:
1. Что не работает в вашем коде на данный момент?
2. Я не уверен, что понимаю проблему. Что не так с кодом?
3. Если вы не хотите читать файл (для выполнения поиска) и хотите сделать это на «стороне сервера» — вам потребуется веб-сервер с кодом, который получит вызов API с пользовательским вводом. Этот API вернет совпадение.
Ответ №1:
Я думаю, что urllib идеально соответствует вашему варианту использования.
Я не понимаю, почему вы открыли файл, когда текст уже был доступен в вашей переменной, вот исправленная версия вашего кода, использующая текстовый файл онлайн в соответствии с вашим запросом, доступный на www.w3.org веб-сайт (вы можете явно изменить URL-адрес на любой, который вам больше нравится):
from urllib.request import urlopen
textpage = urlopen("https://www.w3.org/TR/PNG/iso_8859-1.txt")
text = str(textpage.read(), 'utf-8')
# Conditions
while True:
check_input = str(input("What do you want to search? "))
if check_input == "": # if no value is entered for the string
continue
if check_input in text: # string in present in the text file
print("Matched")
break
else: # string is absent in the text file
print("No such string found, try again")
continue
Вывод
What do you want to search? something
No such string found, try again
What do you want to search? SPACE
Matched
Вы также можете использовать библиотеку запросов, вот еще один пример:
#!/usr/bin/env python3
import requests as req
resp = req.get("https://www.w3.org/TR/PNG/iso_8859-1.txt")
text = resp.text
# Conditions
while True:
check_input = str(input("What do you want to search? "))
if check_input == "": # if no value is entered for the string
continue
if check_input in text: # string in present in the text file
print("Matched")
break
else: # string is absent in the text file
print("No such string found, try again")
continue
Вывод
What do you want to search? something
No such string found, try again
What do you want to search? SPACE
Matched