Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Нужно написать код на питоне

chel chelik Ученик (106), на голосовании 3 недели назад
В общем, нужно написать код который будет загружать файл с яндекс диска и затем его открывать для поиска нужных строк в файле.
Вот код который ищет нужные строки по словам:
search_words = input("Введите данные для поиска: ").split()
file = open('file.txt', 'r')
lines = file.read ().split('\n')
for line in lines:
if any(word in line for word in search_words):
print(line)
Голосование за лучший ответ
Mr Blacter Ученик (127) 1 месяц назад
Про скачивание файла.
  1. Получите отладочный OAuth-токен для доступа к диску. (поисковый запрос: "yandex disc api", на официальном сайте есть инструкция, в ней идем по пути: API Диска -> REST API Диска -> Получите OAuth-токен вашего приложения - важная инструкция, на неё будут ссылки ниже)
  2. Ход получения токена (то же самое указано в офиц. инструкции):
    1. Входите в аккаунт Яндекс
    2. Открываете страницу создания приложения
    3. Вводите имя вашего сервиса, например "Test"
    4. В пункте Платформа выбираем "Веб-сервисы", В Redirect URL прописываете URL из п 1.4 инстукции выше (позволит получить отладочный токен).
    5. В пункте Доступ к данным вводим (без кавычек )сначала "cloud_api:disk.app_folder", затем (скорее всего это уже излишний доступ) "cloud_api:disk.read"
    6. Указываете электронную почту
    7. Нажимаете "Создать приложение"
    8. Сохраняете ClientID, он потребуется для получения токена
    9. Переходите по ссылке в пункте 2.1 инструкции, где вместо <ClientID> вставляете ваш ClientID, сохраняете ваш OAuth-токен
  3. Далее нужно перейти на тренировочный полигон (из него будут копироваться данные для запросов ... ). Путь к полигону API Диска -> REST API Диска -> Полигон (API Диска - тот, что в первом пункте моего ответа)
    1. В полигоне вводите ваш OAuth-токен в соответствующую графу
    2. Переходите в вкладку полигона -> v1/disk/resources: Файлы и папки -> v1/disk/resources/download (получить ссылку на скачивание) (Нажимаете на вкладки, они разворачиваются)
    3. В "параметрах" в path указываете файл который нужно скачать с диска, например: "Приложения/app_file/file.txt" (при желании вводить путь и имя файла через Python нужно будет формировать путь к файлу и подставлять в url-запрос, при этом url-кодируя кириллицу). Далее нажимаете кнопку "Попробовать!" она порядочно ниже в той же вкладке.
    4. После нажатия "Попробовать!" появятся поля Curl и URL-запроса, понадобятся в дальнейшем.
    5. Далее будет идти программа Python, если у вас нет requests -> pip install requests.
 import requests 
import json
response = requests.get(
'<Вставляете URL-запрос из п 4.1. (см. выше)>',
headers={
'Accept': 'application/json',
'Authorization': 'OAuth <вставляете ваш токен>'
})
download_link = json.loads(response.content.decode('utf-8'))['href']
response = requests.get(download_link)
file_Path = 'downloaded_file.txt'
if response.status_code == 200:
with open(file_Path, 'w') as file:
file.write(response.content.decode('utf-8'))
print('File downloaded successfully')
else:
print('Failed to download file')
Похожие вопросы