Форум сайта python.su
# -*- coding: utf-8 -*- import http.client, urllib.parse import nltk.data subscriptionKey = '***************' host = 'api.microsofttranslator.com' path = '/V2/Http.svc/Translate' with open('Test.TXT', 'r') as f: lst = f.read().splitlines() one = ' '.join(lst) tokenizer = nltk.data.load('tokenizers/punkt/english.pickle') dow = tokenizer.tokenize(one, realign_boundaries=True) ru_dow = [] target = 'ru' params = '?to=' + target + '&text=' + urllib.parse.quote (text) def get_suggestions (): headers = {'Ocp-Apim-Subscription-Key': subscriptionKey} conn = http.client.HTTPSConnection(host) conn.request ("GET", path + params, None, headers) response = conn.getresponse () return response.read () result = get_suggestions () for i in dow: text = i ru_dow.append(result.decode("utf-8")) with open('RU_TEST.txt', "w") as file: file.write(' '.join(ru_dow)) print('END')
for i in dow: text = i params = '?to=' + target + '&text=' + urllib.parse.quote (text) headers = {'Ocp-Apim-Subscription-Key': subscriptionKey} conn = http.client.HTTPSConnection(host) conn.request ("GET", path + params, None, headers) response = conn.getresponse () result = response.read () ru_dow.append(result.decode("utf-8"))
Отредактировано wery (Апрель 12, 2018 13:45:56)
Офлайн
weryВ цикле делаешь несколько append() для одного и того же result, а text вообще не используешь.
Подскажите, по какой причине в списке ru_dow все строки переписываются на перевод последней строки.
Офлайн
py.user.nextВ моем представлении это должно было работать так, что на каждую итерацию создается свое значение переменной text, и соответственно, когда цикл обращается к result, то в каждой итерации значение result уже другое, т.к. text используется в функции get_suggestions ().
Офлайн
weryВ этом фрагменте
почему присоединяется один и тот же result?
result = get_suggestions () for i in dow: text = i ru_dow.append(result.decode("utf-8"))
Офлайн