gpt4 book ai didi

python - 使用 python 线程的语言翻译器

转载 作者:太空狗 更新时间:2023-10-30 01:38:13 32 4
gpt4 key购买 nike

我已经为语言翻译器编写了一个程序,我想用它来使用 Python 将数据从文件翻译成其他语言 Goslate图书馆。在我的终端上运行代码时,代码会将一些文本转换为法语,这是我设置的默认语言。

在将几行文本转换成法语后,程序给出了一个 HTTP 请求错误,指出 HTTP 请求超时。

      File "/usr/lib/python2.7/threading.py", line 808, in __bootstrap_inner
self.run()
File "m.py", line 27, in run
new=gs.translate(host,'fr')
File "/home/rishabh/goslate.py", line 338, in translate
return self._translate_single_text(text, target_language, source_language)
File "/home/rishabh/goslate.py", line 283, in _translate_single_text
return ''.join(self._execute(make_task(i) for i in split_text(text)))
File "/home/rishabh/goslate.py", line 166, in _execute
yield each()
File "/home/rishabh/goslate.py", line 281, in <lambda>
return lambda: self._basic_translate(text, target_language, source_lauguage)[0]
File "/home/rishabh/goslate.py", line 206, in _basic_translate
response_content = self._open_url(url)
File "/home/rishabh/goslate.py", line 154, in _open_url
raise e
timeout: timed out"""

Goslate 库可以轻松处理小文本并将它们转换为目标语言,但我正在尝试实现它来处理大型文本文件。

这是我的代码。我需要帮助正确格式化线程以将所有文本转换为另一种语言。

    # translating words using google translation api
#install goslate a python module for translating using google translate api i n windows easy_install goslate
import goslate
import threading
import sys
import Queue
import time
queue=Queue.Queue()

gs = goslate.Goslate()
f=open("c:\\Users\\kiit\\SkyDrive\\Pictures\\new.txt",'r').read()
hosts=f.split("\n")#makes a list of sentences in the file so as to translate line by line


class Threadtranslate(threading.Thread):
def __init__(self,queue):
threading.Thread.__init__(self)
self.queue=queue

def run(self):
while True:
l host=self.queue.get()
new=gs.translate(host,'fr')#to translate the lines in hosts to frenchlanguage
print new

self.queue.task_done()

start=time.time()
def main():
for i in range(len(hosts)):
t=Threadtranslate(queue)
t.setDaemon(True)
t.start()
for host in hosts:
queue.put(host)

queue.join()

main()
print "Elapsed Time: %s" % (time.time() - start)

最佳答案

试试这个,当 goslate 不再通过时它会派上用场,现在,https://pypi.python.org/pypi/textblob

关于python - 使用 python 线程的语言翻译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22689179/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com