#環境
win10
python3.6.8
#参考サイト
https://teratail.com/questions/12384
trans.pyの中身にはいってる変数result_text、"ここの文字を出力したい"です。を
sample.pyで出力したいです。
#trans.py
# !/usr/bin/env python # coding: utf-8 import sys result_text = "ここの文字を出力したい" sys.exit(result_text)
#できないソース
# !/usr/bin/env python # coding: utf-8 import os import subprocess cmd = "python ./trans.py gs://bucket/" p = subprocess.Popen(cmd.split(),stderr=subprocess.PIPE, stdout=subprocess.PIPE) stdout = p.communicate()
これを実行してprintすると文字化けします
(b'os\x82\xc9\x82\xe6\x82\xc1\x82\xc4Google\x82\xcc\x83C\x83\x93\x83|\x81[\x83g\x83R\x83}\x83\x93\x83h\x82\xf0\x95\xcf\x8dX\x82\xb5\x82\xdc\x82\xb7\x81B\x96{\x8a\xc2\x8b\xabOS\x82\xcd\x81@windows\x82\xc5\x82\xb7\x81B\r\n==============================================================>>>>>\x82\xb
#ためしたこと1
print(p.stdout.decode(chardet.detect(p.stdout)["encoding"]))
エラー
AttributeError: '_io.BufferedReader' object has no attribute 'decode'
#ためしたこと2
print(p.stdout.decode('cp932'))
エラー
io.BufferedReader' object has no attribute 'decode'
#ためしたこと3
for n in stdout: print(n) #print(n.decode("utf8"))
エラー
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x82 in position 2: invalid start byte
#ためしたこと そのた
print ("no4",stdout) print ("no5",unicode(stdout,'utf-8'))
日本語を出力したいだけなんですができません。お手数をおかけしますが宜しくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/09/07 00:31
退会済みユーザー
2019/09/07 00:40