2

(生成されたデーモンから) コマンドをsubprocess実行し、結果をファイルに書き込もうとしています。結果の文字列Popenは ですbytestring。ファイルに書き込む前に、これを人間が読める形式にするにはどうすればよいですか? python3.2を使用

試しました:

print (x,file=o)
f.write(str(rc.so))
print (str(rc.so) + "\n")

読みやすいように見えるものは何もありません..

疑わしいコード:

  rc = subprocess.Popen([cmd], shell=True, stdout=subprocess.PIPE,   stderr=subprocess.PIPE)
  x = rc.stdout.readlines()
  rc.so, rc.se = rc.communicate()
  with open(of,'w') as o, open(ef,'w') as e:
     print (str(rc.so) + "\n",file=o)
4

1 に答える 1

3

あなたはそれをデコードする必要があります:

my_byte_string.decode('utf-8')

utf-8 は、状況に応じた最適なデコード方法ではない可能性があります。これは、利用可能な多くのオプションの 1 つです。

そのため、printステートメントは次のようになります。

print (rc.so.decode('utf-8') + "\n",file=o)
于 2012-11-28T22:01:58.457 に答える