Použijte decode()
správně:buď ve dvou krocích (pokud chcete znovu použít blah
):
blah = blah.decode()
splitblah = blah.split("\n")
# other code that uses blah
nebo inline (pokud jej potřebujete na jedno použití):
splitblah = blah.decode().split("\n")
Váš problém s používáním decode()
bylo, že jste nepoužili jeho návratovou hodnotu. Všimněte si, že decode()
ne změnit objekt (blah
) k něčemu přiřadit nebo předat:
# WRONG!
blah.decode()
VIZ TAKÉ:
decode
docs.
Pokud se vaše otázka scvrkává na toto:
Zkoušel jsem použít dekódování a kódování, ale stále na mě křičí, že metoda rozdělení nemůže použít datový typ.
Chybu lze demonstrovat následujícím kódem:
>>> blah = b'hello world' # the "bytes" produced by check_output
>>> blah.split('\n')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: a bytes-like object is required, not 'str'
Za účelem rozdělení bytes
, bytes
objekt musí být také poskytnut. Oprava je jednoduše:
>>> blah.split(b'\n')
[b'hello world']
Analýza tajných klíčů ze správce tajných klíčů AWS pomocí AWS cli
Zabíjení podprocesu spuštěného sudo v pythonu