比方说,我有一个像这样构建的文本文件:
text "car"
translation ""
text "tree"
translation ""
现在,我正在尝试使用Python翻译此文件,并且已经弄清楚了如何使用googletrans翻译字符串以及如何读取文件,但是我无法弄清楚如何真正地仅读取引号中的内容。 / p>
这就是我走了多远
from googletrans import Translator
f = open('file.txt','r')
translator = Translator()
text=f.read()
答案 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