もともと私はファイルを読み込み、コードをperlのためにそれを提供することができますのpython 2.7のコード、持っている:今、私はむしろよりのpython3コードに変換するように、しかし、のpython3 proc.communicate
にバイトのようなオブジェクトを読み込みます文字列をバイトに変換する方法はありますが、改行はPython3で保持していますか?
proc = subprocess.Popen(["perl", _conlleval], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
stdout, _ = proc.communicate(open(filename).read())
を'str'だから私はstdout, _ = proc.communicate(open(filename).read().encode())
を使用していますが、\n
に変換するファイルになることは、すべての行がでフィードことが判明し、例えば、ファイルに私が
Apple
Tree
Is
Good
を持っている。しかし、残念ながらエンコードがそれを行います:
Apple\nTree\n\nIs\nGood\n
このエラーを修正するにはどうすればよいですか? \n
あなたはそれが* *送信するために何をしたいですか?改行を何に変換したいですか? – wwii
あなたは '' open'の '' newline'パラメータ(https://docs.python.org/3/library/functions.html#open)を使いこなしてみましたか?バイナリモードでファイルを開いてそのように送信しようとしましたか?それらの改行文字はファイル内にあるので、それらを削除/フィルタリングする必要があります。もっと良いのは、あなたのperlスクリプトをPythonに変換してやることです。 – wwii