Как проверить наличие строки в текстовом файле онлайн на Python

#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