Yanıtlar:
os.path.isabs
True
yol mutlaksa döndürür , False
değilse. Belgeler pencerelerde çalıştığını söylüyor (kişisel olarak Linux'ta çalıştığını onaylayabilirim).
os.path.isabs(my_path)
Ve gerçekten istediğiniz şey mutlak yolsa, olup olmadığını kontrol etmekten çekinmeyin, sadece şunu elde edin abspath
:
import os
print os.path.abspath('.')
Kullanın os.path.isabs
.
import os.path
os.path.isabs('/home/user')
True
os.path.isabs('user')
False
Aslında yukarıdaki cevapların hiçbirinin gerçek sorunu çözmediğini düşünüyorum: platformlar arası yollar. Os.path'ın yaptığı şey, 'path' kütüphanesinin işletim sistemine bağımlı versiyonunu yüklemektir. böylece çözüm ilgili (OS) yol kütüphanesini açıkça yüklemektir:
import ntpath
import posixpath
ntpath.isabs("Z:/a/b/c../../H/I/J.txt")
True
posixpath.isabs("Z:/a/b/c../../H/I/J.txt")
False
def path_is_abs(p): return (len(p) > 1) and (p[0] == '/' or p[1] == ':')
Gönderen python 3.4
pathlib mevcuttur.
In [1]: from pathlib import Path
In [2]: Path('..').is_absolute()
Out[2]: False
In [3]: Path('C:/').is_absolute()
Out[3]: True
In [4]: Path('..').resolve()
Out[4]: WindowsPath('C:/the/complete/path')
In [5]: Path('C:/').resolve()
Out[5]: WindowsPath('C:/')
Path('\tmp').is_absolute()
doğru verir False
iken, os.path.isabs('\tmp')
yanlış verir True
. (Bazıları bunun \tmp
Windows'ta mutlak bir yol olduğunu iddia eder , ancak bu sadece mutlak yolun çok işe yaramaz bir tanımı için doğrudur .)
os.path.isabs('c:\\')
False değerini döndürür.