답변:
os.path.isabs
True
경로가 절대 경로가 False
아닌 경우 반환 합니다 . 설명서 에는 Windows에서 작동한다고 나와 있습니다 (Linux에서 개인적으로 작동한다는 것을 확인할 수 있습니다).
os.path.isabs(my_path)
사용하십시오 os.path.isabs
.
import os.path
os.path.isabs('/home/user')
True
os.path.isabs('user')
False
실제로 위의 답변 중 어느 것도 실제 문제를 해결하지 못했다고 생각합니다 : 크로스 플랫폼 경로. os.path가하는 일은 'path'라이브러리의 OS 종속 버전을로드하는 것입니다. 솔루션은 관련 (OS) 경로 라이브러리를 명시 적으로로드하는 것입니다.
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] == ':')
에서 python 3.4
pathlib 사용할 수 있습니다.
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()
제대로 제공 False
하면서, os.path.isabs('\tmp')
잘못 제공합니다 True
. (일부는이 주장 할 것이다 \tmp
Windows에서 절대 경로입니다,하지만은 매우 쓸모 정의 만 사실 절대 경로 .)
os.path.isabs('c:\\')
에서 거짓을 반환합니다.