Python os.path.dirname(__file__) 在终端命令行下报错

作者:J.sky · 发表于:
2018-11-21T22:16:58.000000Z
· 更新于:
2023-08-13T22:54:33.269783Z
· Tag: Python基础

最近在写程序中用到了os.path.dirname(__file__),在PyCharm中启动程序调试的时候,是没有问题的,但是如果在终端命令行下运行程序时就会报错

FileNotFoundError: [Errno 2] No such file or directory

我们先来测试一下,看看报错是什么样的?

print(os.path.dirname(__file__))

如果在终端运行当前程序就会报错:

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

如何使之正确运行呢?如果你用过Django,就会想到BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 这个是Django里用来定义当前文件所属目录的一行代码,后来我查询了一下,其中os.path.abspath(__file__)这条是返回当前文件的绝对地址, 而os.path.dirname(os.path.abspath(__file__))就是返回当前文件所在的目录的绝对地址,这样我们就轻松的得到当前文件所属目录了。 困扰人生的小问题就这样绝对喽!

本文源码下载: