时间:2010-07-23 16:45:42

标签: python path

8 个答案:

答案 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:/')