123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- import requests
- import argparse
- import json
- import sys
- import re
- # Парсим командную строку
- parser = argparse.ArgumentParser(description="Translator's manual!")
- parser.add_argument("--file", default=1, type=str, help="Файл, который вы хотите перевести")
- parser.add_argument("--lan", default=1, type=str, help="Выберите язык для перевода")
- parser.add_argument("--out", default="output.txt", type=str, help="Выберите файл для вывода")
- # Задаём аргументы
- args = parser.parse_args()
- text = args.file
- toLan = args.lan
- output = args.out
- # Проверка на ввод
- if text == 1 or toLan == 1:
- print("Ошибка! Неверно заданы аргументы!")
- sys.exit()
- # Считываем файл
- with open(text, 'r', encoding="utf-8") as file:
- data = file.read()
- # Делаем запрос
- headers = {
- 'Ocp-Apim-Subscription-Key': '9bf007a897f54e4a94203f8aa88cd2b1',
- 'Ocp-Apim-Subscription-Region': 'westeurope',
- 'Content-type': 'application/json'
- }
- url = 'https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=' + toLan
- body = [{
- 'Text': data
- }]
- # Проверяем, выполнен ли запрос
- try:
- response = requests.post(url, headers=headers, json=body)
- except Exception:
- print("Ошибка! Запрос не был выполнен!")
- sys.exit()
- # Если запрос выполнен
- result = response.json()
- # Запись в файл
- f = open(output, 'w', encoding='utf-8')
- f.write(result[0]['translations'][0]['text'])
- f.close()
- print("\nПеревод успешно записан в файл!")
|