それらは同じですが、どちらを使用する必要がありますか?
http://docs.python.org/library/os.html :
os.sep
パス名コンポーネントを区切るためにオペレーティングシステムで使用される文字。これは、POSIXの場合は「/」、Windowsの場合は「\」です。これを知っているだけでは、パス名を解析または連結するのに十分ではないことに注意してください— os.path.split()およびos.path.join()を使用します—しかし、それは時々役立つことがあります。 os.pathからも利用できます。
os.path.sep
を使用して、パスセパレーターであることを明確にします。しかし、一貫性がより重要なので、既に使用されている場合はそれを使用します。それ以外の場合は、1つを選択して常に使用します。
編集:車輪を再発明しないように、path
モジュールには既にjoin
、split
、dirname
、およびbasename
関数…したがって、path.sep
を使用する必要はほとんどありません。
>>> os.path.join("foo", "bar", "baz")
'foo/bar/baz'
>>> os.path.split(_)
('foo/bar', 'baz')
OSの区切り文字ではなくパスの区切り文字であるため、わかりやすくするためにos.path.sep
を使用することをお勧めします。 import os.path as path
であれば、path.sep
と呼ぶことができます。
Jython 2.7を使用している場合、Windows上のJythonには必須のos.sep
バックスラッシュではなくos.path.sep
スラッシュを返すバグがあるため、"/"
(壊れた)の代わりに"\"
(動作)を使用することをお勧めします。