小能豆

python abspath 返回路径两次

py

我尝试使用 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


阅读 18

收藏
2025-01-02

共1个答案

小能豆

可能是因为当前工作目录是/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))。这可用于获取相对于任意提供的路径的路径。(它还表明您实际上基本上连接了当前工作目录和提供的(相对)路径)

2025-01-02