2016-04-28 2 views
1

だから私は、下記のコードを使用してパスを作成しようとしています:os.path.joinは間違ったパスを与えていますが、これを正しく行う方法は?

path = os.path.join(os.path.dirname(__file__),'folder_abc','file.abc') 

しかし、それは間違った道を与え続けています。上記の文の すなわち、パス変数の値がに設定されています:

C:/User/abc\folder_abc\file.abc 

「/」abcの前に、参照を使用して、それ「\」の後にされています。 なぜこれが起こっていますか?

+0

そのパスが間違っていますか? – usr2564301

+0

abc '/'が使用される前と '\'の後に表示されます。 –

+0

あなたの投稿にそれを編集したいかもしれません。 – usr2564301

答えて

3

SSchneidに感謝を。

os.path.normpath()を使用してこれを解決しました。上記の場合で

はすなわち:

path = os.path.normpath(os.path.join(os.path.dirname(__file__),'folder_abc','file.abc')) 
1

これはPythonのドキュメントに記述されてはこちらをご覧ください:

https://docs.python.org/2/library/os.path.html#os.path.join

それはあなたが「/」に希望としては、オペレーティングシステムのセパレータは「\」に設定していないことを、意味しています。別のstackoverflowのポストにここで説明するように、これらの変数に触れることはお勧めしません。

Python - Can (or should) I change os.path.sep?

+0

リンクありがとう。 –

+0

あなたは歓迎です、私は助けて役に立つ有用な答えをあなたに提供します。 – SSchneid

+0

絶対に、私の問題を解決しました。再度、感謝します。 –

関連する問題