Здравствуйте, ShaggyOwl, Вы писали:
SO>Есть крохотный кусочек кода (см ниже).
SO>Его запуск показывает, что path.join() по тихому меняет кодировку.
1. А как Вы определили, что меняется кодировка? Я запускал под фрагмент windows, все имена файлов в кодировке OEM (866).
2. В приведённом фрагменте у Вас работает string.join(), а не os.path.join(), для вызова последней надо так:
def visit(arg, dirname, names):
for n in names:
print os.path.join(dirname, n)