在Python 3 中將位元組轉換為字串
問題:
問題:import subprocess p = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE) stdout, _ = p.communicate()
b'total 0\n-rw-rw-r-- 1 thomas thomas 0 Mar 3 07:03 file1\n'問題:
問題:
問題:decoded_stdout = stdout.decode("encoding")
您已經捕獲了外部程式的標準輸出轉換為位元組對象,並且需要將其顯示為字串。例如:
這將產生一個位元組對象,如下所示:
您的目標是將這個位元組物件轉換為標準 Python 字串。解決方案:
要將位元組物件 stdout 轉換為 Python 3 中的字串,請使用解碼()方法。此方法將位元組物件的編碼作為參數。操作方法如下:decoded_stdout = stdout.decode("utf-8")
print(decoded_stdout) # Output: # -rw-rw-r-- 1 thomas thomas 0 Mar 3 07:03 file1選擇編碼:編碼參數指定用於解碼位元組的字元集。在給出的範例中,假定 UTF-8 為預設編碼。但是,使用資料的實際編碼非常重要。 如果您不知道編碼,可以嘗試使用「utf-8」。或者,您可以使用 chardet 等函式庫自動偵測編碼。 範例:使用UTF-8 作為假定編碼: 您現在可以列印解碼後的字串:
以上是如何在 Python 3 中將位元組物件轉換為字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!