当我从我的主目录在OS X 10.6.4下的Mac上调用os.getcwd()时,路径将转换为小写。我得到如何在调用Python的os.getcwd()时获得正确的大小写?
/用户/名为myUsername
代替
/用户/用户名为myusername
在另一台Mac,我得到了正确的大写字符串。我该如何配置?有(隐藏的)Python设置吗?
询问原因: 在OS X上,所有用户目录都在“/ Users”中。这总是大写。当使用Mercurial时,它有时会与我当前目录的这种奇怪和不正确的标准化混淆。
在答复建议的解决方案:
(1) 磁盘工具说,我的车有 “Mac OS扩展(日志式)” 的格式。我在一个月前买了我的电脑,它仍然是原来的驱动器,从来没有重新格式化过。
(2)另一种蟒控制台会话日志:
$ >>>使用os.system( 'PWD')
/用户/克拉斯
$ >>> os.getcwd()”
'/用户/克拉斯'
$ >>> os.path.normcase( '/用户/克拉斯' )
'/用户/克拉斯'
$ >>> os.chdir( '/用户/克拉斯')
$ >>> os.getcwd()
“/用户/克拉斯
$ >>> os.chdir( '/用户/克拉斯')
$ >>> os.getcwd()
'/用户/克拉斯'
更新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,2010年2月11日,00:51:29) - [GCC 4.2.1(Apple Inc. build 5646)] darwin' works fine ... – ChristopheD 2010-11-01 22:08:57
主机是否相同操作系统版本和使用相同的文件系统? – 2010-11-01 22:19:04
尝试使用“dtruss”与os.getcwd一起运行脚本。至少你可以看到OS返回的目录。 – 2010-11-01 23:23:36