Ce sont les mêmes, mais lequel dois-je utiliser?
http://docs.python.org/library/os.html :
os.sep
Caractère utilisé par le système d'exploitation pour séparer les composants de chemin d'accès. Il s'agit de '/' pour POSIX et de '\' pour Windows. Notez que le savoir n'est pas suffisant pour pouvoir analyser ou concaténer des chemins d'accès - utilisez os.path.split () et os.path.join () - mais c'est parfois utile. Également disponible via os.path.
J'utiliserais os.path.sep
pour qu'il soit très clair que c'est le séparateur de chemin… Mais la cohérence est plus importante, donc si l'un est déjà utilisé, utilisez-le. Sinon, choisissez-en un et utilisez-le tout le temps.
Edit: Juste pour être sûr de ne pas réinventer la roue, cependant, le module path
a déjà join
, split
, dirname
, et basename
fonctions… Vous devriez donc rarement avoir besoin d'utiliser path.sep
:
>>> os.path.join("foo", "bar", "baz")
'foo/bar/baz'
>>> os.path.split(_)
('foo/bar', 'baz')
Je vous recommande d'utiliser os.path.sep
pour plus de clarté, car c'est un séparateur de chemin, pas un séparateur de système d'exploitation. Si vous import os.path as path
vous pouvez l'appeler path.sep
, ce qui est encore mieux.
Si vous utilisez Jython 2.7, je vous suggère d'utiliser os.sep
(fonctionne) au lieu de os.path.sep
(cassé) car Jython sur Windows a un bug renvoyant un "/"
barre oblique au lieu de "\"
barre oblique inverse.