Python中os.path.dirname(__file__)的用法

时间:2022-05-08
本文章向大家介绍Python中os.path.dirname(__file__)的用法,主要内容包括os.path.dirname()的用途、os.path.dirname(file)的用途、2.当程序脚本以相对路径运行时、注意、参考、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

os.path.dirname()的用途

os.path.dirname()用来获取文件的路径。 如:

12

>>> os.path.dirname('/home/woodenrobot/Documents/LearnPython/test.py')/home/woodenrobot/Documents/LearnPython

os.path.dirname(file)的用途

os.path.dirname(__file__)是用来获取python文件运行时的路径。 比如有一个test.py脚本内容为:

12

import osprint(os.path.dirname(__file__))

该脚本位于/home/woodenrobot/Documents/LearnPython文件夹中,分两种情况说明:

1.当程序脚本以完整路径运行时

12

(trusty)woodenrobot@localhost:~$ python /home/woodenrobot/Documents/LearnPython/test.py/home/woodenrobot/Documents/LearnPython

此时会输出该脚本所在的完整路径。

2.当程序脚本以相对路径运行时

123

(trusty)woodenrobot@localhost:~/Documents$ python LearnPython/test.pyLearnPython(trusty)woodenrobot@localhost:~/Documents/LearnPython$ python test.py

此时则会输出其相对路径或空目录。

注意

当你在python自带的IDLE或者python command line中使用会出现以下错误:

12345

>>> import os>>> os.path.dirname(__file__)Traceback (most recent call last): File "<stdin>", line 1, in <module>NameError: name '__file__' is not defined

这是因为此时该段程序并不是从文件夹中运行的,所以并未生成__file__

参考

  1. Python零碎知识(9):有关 os.path.dirname(file)
  2. python中os.path.dirname(file)的使用
  3. Python 模块学习:os模块