Python 如何打印当前文件所在目录的完整路径
当前文件的路径是通过目录层次结构定义的,它包含了从当前文件到该文件所在的根目录的回溯路径。例如,假设文件“my_file”属于目录“my_directory”,则该文件的路径定义如下:
./my_directory/my_file
路径中的目录、子目录和文件都使用“/”分隔符分隔开来。
因此,要获取当前文件的完整路径,可以使用 os.path.abspath() 函数。如果只想要目录路径,可以调用 os.path.dirname() 方法。
使用os.path.abspath()方法
os.path.abspath()函数接受路径作为参数,用于获取当前文件的完整规范化绝对路径。
示例
以下示例演示了如何通过将文件名作为参数传递给os.path.abspath()方法来检索文件的绝对路径。
import os
fname = "file1.txt"
print(os.path.abspath(fname))
输出
如果我们编译并运行上面的程序,输出结果如下 –
/home/cg/root/33992/file1.txt
使用 os.path.dirname() 方法
os.path.dirname() 函数用于获取当前文件的目录路径(不包含文件名)。
该方法仅接受一个字符串或字节作为参数;然而,为了获取当前目录的路径(路径的一部分),必须传递当前文件的完整路径。
这将得出以下结果 −
return value of os.path.dirname() method + file name = return value of os.path.abspath() method
示例
在这里,我们首先使用abspath()方法获取当前文件的完整路径;然后将返回值作为参数传递给dirname()方法。预计将检索到当前目录。
import os
fname = "file1.txt"
dn = os.path.abspath(fname)
print(os.path.dirname(dn))
输出
如果我们编译并运行上面的程序,输出结果如下所示 −
/home/cg/root/78173
结论
path模块提供了两个函数来获取当前文件的完整路径。首先,使用os.path.abspath()函数来获取绝对路径。接下来,使用os.path.dirname()函数来仅获取目录路径。