彻底解决python NameError: name ‘__file__‘ is not defined
2023-03-20 14:55:17 时间
问题背景
我创建了一个函数,里面包含了一个获取当前执行文件路径的代码
current_path = os.path.dirname(os.path.abspath(__file__))
我把这段代码放在了函数中间位置(图片中已经被注释掉的部分)。
在CMD窗口执行python文件时,报NameError: name ‘file’ is not defined错误。(也在linux中执行过,同样报错)
查找了几个方案(比如,下图所示),有说要把__file__改成’file’的(这个根本就是扯淡),还有说要把os.path.abspath改成os.getcwd()的(获取的是执行命令的当前路径)。
测试了这几个方案,并不能获取当前执行文件的绝对路径。
解决方案
因为以前我的这段代码是可以正常执行的,改过之后就出现了这个错误。
各种百度、琢磨,一晚之后,翌日清晨,我把这段代码放在了函数的最开始位置。然后测试成功了!成功了!成功了!
这段代码就可以正常获取当前文件的路径而不报错误!
记录下自己的踩坑之路,以便遇到相同坑的人能尽快跳出!!
相关文章
- Python中的函数与方法 以及Bound Method和Unbound Method
- 一文贯通python文件读取
- Python 中的异步编程:Asyncio
- 7个你现在就该学习Python的理由
- 提高Python运行效率的六个窍门
- Python数据科学:神经网络
- 一篇文章看懂大数据分析就业前景及职能定位
- R和Python中的文本挖掘:8个入门小贴士
- 告诉你为什么Python有点慢,但我却无所谓?
- 专注学习DevOps编程语言Top 5推荐
- Python发送邮件脚本
- Python多进程并行编程实践: mpi4py 的使用
- Python语言在未来的发展前景
- Python vs Ruby: 谁是最好的 web 开发语言?
- Python对Ruby:谁在Web开发领域更胜一筹?
- Python一行代码完成并行任务
- Python开发者2017应该关注的七个类库
- python爬虫入门基本知识
- 在终端中优雅地编写Python
- Python机器学习实战:信用卡欺诈检测