Python os.path.dirname(__file__) 在终端命令行下报错
最近在写程序中用到了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__))就是返回当前文件所在的目录的绝对地址,这样我们就轻松的得到当前文件所属目录了。
困扰人生的小问题就这样绝对喽!
本文源码下载:
标签: Python基础
相关文章
- 解决错误 ERROR [WinError 10049] 在其上下文中,该请求的地址无效。
- 如何在Python程序中使用配置文件.ini(ConfigParser)
- Python os.mknod 运行报错无法创建文件
- 聊聊Python中的递归与快速排序那点事
- 妙用IPython学习Python--IPython快速上手
- Python生成器yield应用实例——监控日志
- 如何快速的复习学习过的Python
- python中导入不同目录中的自定义模块/class/函数/方法
- 浅谈Python中的协程及利用协程代替多线程及多进程并发编程
- 聊聊Python中晦涩的生成器(yield)与生成器表达式
- Python中创建TCP服务器与客户端进行通信(下)Tk、thread与socket组合。
- Python中创建TCP服务器与客户端进行通信(上)
- Python程序在Windows10终端运行中文乱码解决方法
- 你与黑客之间差了多少行Python代码?
- 聊聊Python闭包(Closure)的那点事。
- Python并发编程(下)功能强大设置简单的分布式多进程生产者与消费者模式
- Python并发编程(上)进程模块multiprocessing模块和Process类
- Python多线程编程(下)多线程锁 threading.Lock
- Python多线程编程(上)多线程创建的几种方法
- python 类的静态方法和类方法
- Python面向对象编程(OOP)初探
- Python random 随机数模块操作总结
- Python3 datetime模块的时间操作
- python3函数学习笔记简单总结
- PythonINI配置文件读写的简单方法
- Python open()函数文件打开、读、写操作总结
- Python os.path模块中一些常用方法的整理总结
- Python 采集数据三步曲之[Requests + re.py模块进行数据采集]
- Python 采集数据三步曲之[Requests开源协议的HTTP 库]
- Python 采集数据三步曲之[正则表达式 re.py]
- python3 Markdown模块解析Markdown代码
- 创建python 虚拟环境 venv