In Windows, sys.getfilesystemencoding() returns 'mbcs' (multibyte code system),
which doesn't say very much imho.
So I wrote the function below, which returns the codepage as reported by the
windows chcp command. I noticed that
the function returns 850 (codepage 850) when I run it via the command prompt,
but 1252 (cp1252) when I run it in my IDE (Spyder).
Any idea why? Is it a good idea anyway to make this function (no, probably,
because Python devs are smart people ;-)
#!python.exe
#Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on
win32
import subprocess, re, sys
def getfilesystemencoding():
if sys.platform.startswith("win"):
proc = subprocess.Popen("chcp", shell=True, stdout=subprocess.PIPE)
m = re.search(": (?P<codepage>\d+)", proc.communicate()[0])
if m:
return m.group("codepage")
return sys.getfilesystemencoding()
return sys.getfilesystemencoding()
print getfilesystemencoding()
Regards,
Albert-Jan
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
All right, but apart from the sanitation, the medicine, education, wine, public
order, irrigation, roads, a
fresh water system, and public health, what have the Romans ever done for us?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_______________________________________________
Tutor maillist - [email protected]
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor