# -*- coding: utf-8 -*- import os, sys, traceback, locale, tempfile try: ascii except NameError: ascii = repr print("Python " + sys.version.split()[0]) print("sys.getdefaultencoding(): " + sys.getdefaultencoding()) print("sys.getfilesystemencoding(): " + sys.getfilesystemencoding()) print("locale.getpreferredencoding(False): " + locale.getpreferredencoding(False)) print("locale.getpreferredencoding(True): " + locale.getpreferredencoding(True)) print('') uname = u'\u0420\u0443\u0441\u0441\u043a\u043e\u0435 \u0438\u043c\u044f' cwd = os.getcwd() tempdir = tempfile.mkdtemp() try: os.chdir(tempdir) os.mkdir(uname) try: try: print("----- os.listdir(b'.')") res = os.listdir(b'.') print(ascii(res)) except: print('*** Error:') traceback.print_exc() print('') try: print("----- os.listdir(u'.')") res = os.listdir(u'.') print(ascii(res)) except: print('*** Error:') traceback.print_exc() print('') try: try: os.fsencode except AttributeError: bname = uname.encode(sys.getfilesystemencoding()) else: bname = os.fsencode(uname) print("----- os.stat(%s)" % ascii(bname)) res = os.stat(bname) print(ascii(res)) except: print('*** Error:') traceback.print_exc() print('') try: print("----- os.stat(%s)" % ascii(uname)) res = os.stat(uname) print(ascii(res)) except: print('*** Error:') traceback.print_exc() print('') try: print("----- os.walk(b'.')") for res in os.walk(b'.'): print(' '.join(map(ascii, res))) except: print('*** Error:') traceback.print_exc() print('') try: print("----- os.walk(u'.')") for res in os.walk(u'.'): print(' '.join(map(ascii, res))) except: print('*** Error:') traceback.print_exc() print('') finally: os.rmdir(uname) finally: os.chdir(cwd) os.rmdir(tempdir)