私はいくつかの.txtファイルの文章を整列するために、曖昧さ(https://github.com/rsennrich/Bleualign)を使用しようとしています。このツールが動作する仕組みは、端末で次のようにコマンドを送信することです。種類Pythonでコマンドを送信するときのエラー
python ../../Bleualign/bleualign.py -s circle_en-us_pre_aligned.txt -t circle_pt-br_pre_aligned.txt --srctotarget - -o output
ファイルの名前は、自分が行っていることに固有のものです。ターミナルで直接使用すると動作します。私のpythonを通してそれをしようとすると
はしかし、
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)
ときI:
align_sentences(u"circle",u"en-us",u"pt-br")
私が取得:
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
あなたは私が試した見ての通り文字列の前に 'u'を追加して文字列をUnicodeに変換します。私もunicode()を使用して、Uを使わずに、.decode()を試しました...
何が問題なのですか?
ありがとうございました!私はそれを行います。 –