il b''
, è solo la rappresentazione di stringa dei dati che viene scritto quando si print
esso.
L'utilizzo di decode
non ti aiuterà qui perché desideri solo i byte, non i caratteri che rappresentano. Tagliare la rappresentazione della stringa ti aiuterà ancora meno perché in questo modo ti rimane una serie di caratteri inutili ('\', 'x' e così via), non i byte originali.
Non è necessario modificare la rappresentazione della stringa dei dati, perché i dati sono ancora presenti. Basta usarlo al posto della stringa (ad esempio non utilizzare print
). Se si desidera copiare i dati, si può semplicemente fare:
data = file1.read(...)
...
file2.write(data)
Se si desidera attivare i dati binari direttamente dal programma, utilizzare il sys.stdout.buffer
:
import sys
sys.stdout.buffer.write(data)
Il 'B' significa che è un byte ... non si vuole sbarazzarsi di esso ... – Ben
' byte.decode ('ascii') 'se si sa che i rappre byte ts un carattere ASCII – Pithikos
@Pithikos bytes.decode ('ascii'), per correggerlo. – Doruk