システム: Windows 7 64 ビット上の Python 2.6
最近、Python で多くのパスの書式設定を行いました。文字列の変更は常に危険なので、「os.path」モジュールを使用して適切な方法で変更を開始しました。
最初の質問は、これが着信パスを処理する正しい方法であるかどうかです。または、どうにかしてこれを最適化できますか?
sCleanPath = sRawPath.replace('\n', '')
sCleanPath = sCleanPath.replace('\\', '/')
sCleanPythonPath = os.path.normpath(sCleanPath)
「sCleanPythonPath」をフォーマットするために、「os.path」モジュールの関数のみを使用するようになりました。これは非常にうまく機能し、これまでのところ問題はありませんでした。
唯一の例外があります。パスを変更して、ネットワーク ストレージではなくローカル ドライブを指すようにする必要があります。「os.path.join()」と組み合わせて「os.path.splitunc()」の使用を開始しました。
aUncSplit = os.path.splitunc(sCleanPythonUncPath)
sLocalDrive = os.path.normpath('X:/mount')
sCleanPythonLocalPath = (os.path.join(sLocalDrive, aUncSplit[1]))
残念ながら、「os.path.join()」を使用して絶対パスを処理する方法の性質上、これは機能しません。私がウェブで見つけたすべてのソリューションは、「os.path」モジュールを使用して回避したい文字列置換を再び使用しています。私は何かを監督しましたか?これを行うための別の、おそらくより良い方法はありますか?
これに関するすべてのコメントは大歓迎です!