Когда я вызываю os.getcwd() на моем Mac под OS X 10.6.4 из моего домашнего каталога, путь преобразуется в нижний регистр. Я получаюКак я могу получить правильный случай при вызове os.getcwd() Python?
/пользователи/MyUserName
вместо
/Пользователи/MyUserName
На другой Mac я получаю правильный заглавную строку. Как я могу настроить это? Есть ли (скрытая) настройка Python?
Причина: В ОС X все пользовательские каталоги находятся в «/ Users». Это всегда в верхнем регистре. При использовании Mercurial его иногда путают с этой странной и неправильной нормализацией моего текущего каталога.
В ответ на предлагаемые решения:
(1) DiskUtil говорит, что мой диск имеет формат "Mac OS Extended (журнальный)". Я купил свой компьютер месяц назад, и он по-прежнему является оригинальным диском, никогда не переформатировался.
(2) другой питон журнал консоли сеанса:
$ >>> os.system ('PWD')
/Пользователи/Клаас
$ >>> os.getcwd()»
'/ пользователи/Клаас'
$ >>> os.path.normcase ('/ Users/Клаас')
'/ Users/Клаас'
$ >>> os.chdir ('/ Users/Клаас')
$ >>> os.getcwd()
«/ пользователей/Клаас
$ >>> os.chdir ('/ Users/Клаас')
$ >>> os.getcwd()
'/ пользователей/Клаас'
Update 2:
Спасибо за все ответы. Я создал тестовый случай в Objective-C, и она имеет ту же строчную имя папки:
NSFileManager *filemgr;
NSString *currentpath;
filemgr = [NSFileManager defaultManager];
currentpath = [filemgr currentDirectoryPath];
NSLog (@"Current directory is %@", currentpath);
Установили ли вы еще один python (через 'macports' или' fink')? Какая версия сообщает Python при запуске с консоли? Моя система 'Python 2.6.1 (r261: 67515, 11 февраля 2010, 00:51:29) - [GCC 4.2.1 (Apple Inc. build 5646)] на darwin' отлично работает ... – ChristopheD
Являются ли хосты одинаковыми OS и с использованием той же файловой системы? –
Попробуйте запустить скрипт с os.getcwd с помощью «dtruss». По крайней мере, вы можете увидеть, что ОС вернет для каталога. –