我尝试使用 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
可能是因为当前工作目录是/Users/abdulahmad/Desktop。
如果你写例如path/to/file它意味着相对于当前工作目录和相对于/Users/abdulahmad/Desktop它意味着/Users/abdulahmad/Desktop/path/to/file。
path/to/file
/Users/abdulahmad/Desktop/path/to/file
如果您阅读 python3 手册,它实际上显示了的实现os.abspath(path)与相同os.path.normpath(os.path.join(os.getcwd(), path))。这可用于获取相对于任意提供的路径的路径。(它还表明您实际上基本上连接了当前工作目录和提供的(相对)路径)
os.abspath(path)
os.path.normpath(os.path.join(os.getcwd(), path))