[issue5107] built-in open(..., encoding=vague_default)
Georg Brandl ge...@python.org added the comment: The device_encoding(buffer.fileno()) doesn't matter for open(), so I've documented that getpreferredencoding() is used in r69291. -- resolution: - fixed status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue5107 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue5107] built-in open(..., encoding=vague_default)
Antoine Pitrou pit...@free.fr added the comment: It is more complicated than that. The algorithm is currently as follows (copied from TextIOWrapper.__init__): if encoding is None: try: encoding = os.device_encoding(buffer.fileno()) except (AttributeError, UnsupportedOperation): pass if encoding is None: try: import locale except ImportError: # Importing locale may fail if Python is being built encoding = ascii else: encoding = locale.getpreferredencoding() -- nosy: +pitrou ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue5107 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue5107] built-in open(..., encoding=vague_default)
Changes by Giampaolo Rodola' billiej...@users.sourceforge.net: -- nosy: +giampaolo.rodola ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue5107 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue5107] built-in open(..., encoding=vague_default)
New submission from John Machin sjmac...@users.sourceforge.net: Docs say The default encoding is platform dependent but don't say how to find out what that is, or how it is determined. On my Windows XP SP3 setup, the default is cp1252, but the best/only guess at finding out without actually opening a file involved sys.defaultencoding() which produces 'utf-8'. I was pointed at locale.getpreferredencoding(), which returns 'cp1252' on my machine. Please add a sentence along these lines: The default encoding is (obtained by calling|the same as) locale.getpreferredencoding(), not sys.getdefaultencoding() -- corrected/amplified as necessary. -- assignee: georg.brandl components: Documentation messages: 80811 nosy: georg.brandl, sjmachin severity: normal status: open title: built-in open(..., encoding=vague_default) versions: Python 3.0, Python 3.1 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue5107 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com