何时在Python中使用绝对路径与相对路径

时间:2017-06-27 03:54:30

标签: python path relative-path absolute-path pwd

供参考。绝对路径是计算机上某个位置的完整路径。相对路径是相对于当前工作目录(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如何查找路径的方法?它首先尝试一个而另一个吗?

谢谢!

2 个答案:

答案 0 :(得分:3)

最大的考虑因素可能是便携性。如果您将代码移动到另一台计算机并且需要访问其他文件,那么其他文件将在哪里?如果它与您的程序位于相同的位置,请使用相对地址。如果它位于同一绝对位置,请使用绝对地址。

答案 1 :(得分:1)

如果您不知道用户将从何处执行脚本,最好使用os__file__计算用户系统的绝对路径。

__file__是在每个Python脚本上设置的全局变量,它返回包含它的*.py文件的相对路径。

import os
my_absolute_dirpath = os.path.abspath(os.path.dirname(__file__))