python abspath 返回路径两次
python abspath returning path twice
我正在尝试使用 python 获取相对路径字符串的绝对路径,但它一直打印路径两次。例如:
self.path = 'Users/abdulahmad/Desktop'
self.actual_path = os.path.abspath(self.path)
print self.actual_path
我的控制台打印
/Users/abdulahmad/Desktop/Users/abdulahmad/Desktop
如果我将路径更改为:
self.path = 'Desktop'
我的控制台打印:
/Users/abdulahmad/Desktop/Desktop
在这两种情况下,它不应该只打印 /Users/abdulahmad/Desktop
吗?
可能是因为当前工作目录是/Users/abdulahmad/Desktop
。
例如,如果您写 path/to/file
,则表示相对于当前工作目录,相对于 /Users/abdulahmad/Desktop
,则表示 /Users/abdulahmad/Desktop/path/to/file
。
如果您阅读 python3 手册,它实际上显示 os.abspath(path)
的实现与 os.path.normpath(os.path.join(os.getcwd(), path))
相同。这可用于获取相对于任意提供路径的路径。 (它也表明你实际上基本上加入了当前工作目录和提供的(相对)路径)
我正在尝试使用 python 获取相对路径字符串的绝对路径,但它一直打印路径两次。例如:
self.path = 'Users/abdulahmad/Desktop'
self.actual_path = os.path.abspath(self.path)
print self.actual_path
我的控制台打印
/Users/abdulahmad/Desktop/Users/abdulahmad/Desktop
如果我将路径更改为:
self.path = 'Desktop'
我的控制台打印:
/Users/abdulahmad/Desktop/Desktop
在这两种情况下,它不应该只打印 /Users/abdulahmad/Desktop
吗?
可能是因为当前工作目录是/Users/abdulahmad/Desktop
。
例如,如果您写 path/to/file
,则表示相对于当前工作目录,相对于 /Users/abdulahmad/Desktop
,则表示 /Users/abdulahmad/Desktop/path/to/file
。
如果您阅读 python3 手册,它实际上显示 os.abspath(path)
的实现与 os.path.normpath(os.path.join(os.getcwd(), path))
相同。这可用于获取相对于任意提供路径的路径。 (它也表明你实际上基本上加入了当前工作目录和提供的(相对)路径)