答案 0 :(得分:173)
答案 1 :(得分:34)
答案 2 :(得分:15)
答案 3 :(得分:6)
答案 4 :(得分:4)
实际上我认为上述答案都没有解决真正的问题:跨平台路径。 os.path所做的是加载操作系统相关版本的路径'图书馆。所以解决方案是显式加载相关的(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
答案 5 :(得分:1)
答案 6 :(得分:0)
另一种方式,如果你不在当前的工作目录,有点脏,但它适用于我。
import re
path = 'my/relative/path'
# path = '..my/relative/path'
# path = './my/relative/path'
pattern = r'([a-zA-Z0-9]|[.])+/'
is_ralative = bool(pattern)
答案 7 :(得分:0)
从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:/')