翻译文本文件中的变量

时间:2018-08-15 00:25:04

标签: python

比方说,我有一个像这样构建的文本文件:

text "car"
translation ""

text "tree"
translation ""

现在,我正在尝试使用Python翻译此文件,并且已经弄清楚了如何使用googletrans翻译字符串以及如何读取文件,但是我无法弄清楚如何真正地仅读取引号中的内容。 / p>

这就是我走了多远

from googletrans import Translator
f = open('file.txt','r')
translator = Translator()
text=f.read()

1 个答案:

答案 0 :(得分:1)

您可以通过使用非常有用的shlex模块来获取引号内的值,该模块提供了用于解析类似shell语法的实用程序:

>>> import shlex
>>> shlex.split('text "car"')
['text', 'car']

请注意,除了去除引号外,它还支持空格和转义引号等:

>>> shlex.split(r'text "a thing with spaces and literal \"s in it"')
['text', 'a thing with spaces and literal "s in it']

您可以使用类似以下内容的方法将其连接到文件中:

with open('file.txt','r') as file_:
    for line in file_:
        parsed = shlex.split(line)
        if parsed[0] == "text":
             # do translation with with parsed[1]
        else:
             # do something else