对于OS模块的os.path.abspath()获取文件绝对路径函数的一个小问题

import os
The_Gmae_file = os.path.abspath('Aircraft_war.py')
print(The_Gmae_file)

输出结果是:

这个已经困扰我很久了
求指点

Jason990420
最佳答案

So what the question is ?

os.path.abspath(path)

Return a normalized absolutized version of the pathname path. On most platforms, this is equivalent to calling the function normpath() as follows: normpath(join(os.getcwd(), path)).

c:\>type d:\test5.py
import os

path = 'Hello.py'

print(os.path.abspath(path))
print(os.path.normpath(os.path.join(os.getcwd(), path)))

C:\>python d:\test5.py
C:\Hello.py
C:\Hello.py

C:\>d:

d:\>python d:\test5.py
d:\Hello.py
d:\Hello.py
1年前 评论
曾牛逼 (楼主) 1年前
Jason990420 (作者) 1年前
曾牛逼 (楼主) 1年前
Jason990420 (作者) 1年前
讨论数量: 7
Jason990420

So what the question is ?

os.path.abspath(path)

Return a normalized absolutized version of the pathname path. On most platforms, this is equivalent to calling the function normpath() as follows: normpath(join(os.getcwd(), path)).

c:\>type d:\test5.py
import os

path = 'Hello.py'

print(os.path.abspath(path))
print(os.path.normpath(os.path.join(os.getcwd(), path)))

C:\>python d:\test5.py
C:\Hello.py
C:\Hello.py

C:\>d:

d:\>python d:\test5.py
d:\Hello.py
d:\Hello.py
1年前 评论
曾牛逼 (楼主) 1年前
Jason990420 (作者) 1年前
曾牛逼 (楼主) 1年前
Jason990420 (作者) 1年前

官方文档有写,如同一楼的答案,abspath 返回的是 os.path.join(os.getcwd(), path) 的路径。也就是你执行 python xxx.py 的所在路径与你传给 abspath 的参数拼接起来之后的路径。

1年前 评论

我没理解错的话,os.path.abspath是从磁盘根路径到当前执行文件的路径,再拼接括号里的path,你path随便写不存在的文件依然能输出,说明根本没校验你的文件路径,需要你自己填写文件的相对路径

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!