私は Python が大好きです。なぜなら、バッテリーが含まれているからです。また、組み込み関数を頻繁に使用して、汚い仕事をしてくれます。
私は常に os.path モジュールを使用してファイル パスを処理してきましたが、最近、Windows ファイル パスを表す文字列を処理しているときに、Ubuntu Linux で Python 2.5 で予期しない結果が発生しました。
filepath = r"c:\ttemp\FILEPA~1.EXE"
print os.path.basename(filepath)
'c:\\ttemp\\FILEPA~1.EXE']
print os.path.splitdrive(filepath)
('', 'c:\ttemp\\FILEPA~1.EXE')
なに?
filepath = u"c:\ttemp\FILEPA~1.EXE" と filepath = "c:\ttemp\FILEPA~1.EXE" で同じように終了します。
手がかりはありますか?Ubuntu は UTF8 を使用しますが、それと関係があるようには感じません。私のPythonのインストールが台無しになっているのかもしれませんが、私が覚えている特定の微調整は行っていません。