Quantcast
Channel: Active questions tagged python - Stack Overflow
Viewing all articles
Browse latest Browse all 16624

Printing to stdout with encoding in Python 3

$
0
0

I have a Python 3 program that reads some strings from a Windows-1252 encoded file:

with open(file, 'r', encoding="cp1252") as file_with_strings:    # save some strings

Which I later want to write to stdout. I've tried to do:

print(some_string)# => UnicodeEncodeError: 'ascii' codec can't encode character '\xe9' in position 180: ordinal not in range(128)print(some_string.decode("utf-8"))# => AttributeError: 'str' object has no attribute 'decode'sys.stdout.buffer.write(some_str)# => TypeError: 'str' does not support the buffer interfaceprint(some_string.encode("cp1252").decode("utf-8"))# => UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 180: invalid continuation byteprint(some_string.encode("cp1252"))# => has the unfortunate result of printing b'<my string>' instead of just the string

I'm scratching my head here. I'd like to print the string I got from the file just as it appears there, in cp1252. (In my terminal, when I do more $file, these characters appear as question marks, so my terminal is probably ascii.)

Would love some clarification! Thanks!


Viewing all articles
Browse latest Browse all 16624

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>