Ich versuche, bleualign (https://github.com/rsennrich/Bleualign), um die Sätze einiger TXT-Dateien auszurichten. Die Art und Weise dieses Tool funktioniert, ist ein Befehl im Terminal in der folgenden Art und Weise zu senden:Geben Sie Fehler beim Senden von Befehl über Python
python ../../Bleualign/bleualign.py -s circle_en-us_pre_aligned.txt -t circle_pt-br_pre_aligned.txt --srctotarget - -o output
Die Namen der Dateien sind spezifisch auf das, was ich tue. Dies funktioniert, wenn ich es direkt am Terminal verwende.
Allerdings, wenn ich versuche, es durch Python zu tun,
def align_sentences(folder_name, src_lang, trgt_lang):
string = u"python ../../Bleualign/bleualign.py -s "+\
folder_name+u"_"+src_lang+u"_pre_align.txt "+\
u"-t "+folder_name+u"_"+trgt_lang+u"_pre_align.txt "+\
u"--srctotarget -"+\
u" -o outputfile"
os.system(string)
Als ich:
align_sentences(u"circle",u"en-us",u"pt-br")
ich:
Traceback (most recent call last):
File "../../Bleualign/bleualign.py", line 14, in <module>
a = Aligner(options)
File "/home/goncalo/Bleualign/bleualign/align.py", line 159, in __init__
self._inputObjectFromParameter(self.options['srcfile'])
File "/home/goncalo/Bleualign/bleualign/align.py", line 198, in _inputObjectFromParameter
inputObject = self._stringArray2stringIo(parameter)
File "/home/goncalo/Bleualign/bleualign/align.py", line 187, in _stringArray2stringIo
return io.StringIO('\n'.join([line.rstrip() for line in stringArray]))
TypeError: initial_value must be unicode or None, not str
Wie Sie sehen, ich habe versucht, wandle den String in Unicode um, indem du 'u' vor den Strings hinzufügst. Ich habe es auch ohne die u, mit Unicode(), versucht .decode() ...
Was ist los?
Vielen Dank für Ihre Antwort! Ich werde das machen. –