供参考。绝对路径是计算机上某个位置的完整路径。相对路径是相对于当前工作目录(PWD)的某个文件的路径。例如:
绝对路径:
C:/users/admin/docs/stuff.txt
如果我的PWD为C:/users/admin/
,则stuff.txt
的相对路径为:docs/stuff.txt
注意,PWD +相对路径=绝对路径。
很酷,真棒。现在,我编写了一些脚本来检查文件是否存在。
os.chdir("C:/users/admin/docs")
os.path.exists("stuff.txt")
如果TRUE
存在且正常,则返回stuff.txt
。
现在,如果我写,
os.path.exists("C:/users/admin/docs/stuff.txt")
这也会返回TRUE
。
我们需要使用一个而不是另一个吗?是否存在python如何查找路径的方法?它首先尝试一个而另一个吗?
谢谢!
答案 0 :(得分:3)
最大的考虑因素可能是便携性。如果您将代码移动到另一台计算机并且需要访问其他文件,那么其他文件将在哪里?如果它与您的程序位于相同的位置,请使用相对地址。如果它位于同一绝对位置,请使用绝对地址。
答案 1 :(得分:1)
如果您不知道用户将从何处执行脚本,最好使用os
和__file__
计算用户系统的绝对路径。
__file__
是在每个Python脚本上设置的全局变量,它返回包含它的*.py
文件的相对路径。
import os
my_absolute_dirpath = os.path.abspath(os.path.dirname(__file__))