如何彻底解决python NameError:name '__file__' is not defined
作者:龙小马 发布时间:2023-01-29 03:57:12
标签:python,defined,nameerror
问题背景
我创建了一个函数,里面包含了一个获取当前执行文件路径的代码
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()的(获取的是执行命令的当前路径)。
测试了这几个方案,并不能获取当前执行文件的绝对路径。
解决方案
因为以前我的这段代码是可以正常执行的,改过之后就出现了这个错误。
各种百度、琢磨,一晚之后,翌日清晨,我把这段代码放在了函数的最开始位置。然后测试成功了!成功了!成功了!
这段代码就可以正常获取当前文件的路径而不报错误!
记录下自己的踩坑之路,以便遇到相同坑的人能尽快跳出!!
来源:https://blog.csdn.net/wuhuideluori/article/details/118065659
0
投稿
猜你喜欢
- 使用Flask实现进度条问题描述Python异步处理,新起一个进程返回处理进度解决方案使用 tqdm 和 multiprocessing.P
- 网页编程中,在与数据库打交道的时候我们经常会碰到乱码的经常。本文就将介绍一种ASP读取MySQL数据库出现乱码的解决办法。情景再现:使用My
- MSSQL随机数 MSSQL有一个函数CHAR()是将int(0-255) ASCII代码转换为字符。那我们可以使用下面MS SQL语句,可
- 插件下载:blueideasearch.xpi首先第一步 说一下怎么样查看firefox插件的源码, 就我上边写的那个东西,把它下载下来.将
- 优雅的设计经常包含一些特殊的字体,而这些字体并不存在于用户的字体库中,我们并不能奢求每一个访客都是设计师。 :-)虽然CSS3标
- 本篇文章将提供有关 Python 中异步 for 循环的完整详细信息。 我们将讨论异步函数、异步 for 循环和睡眠概念。接下来,我们将讨论
- 这篇文章主要介绍了python重要函数eval多种用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要
- Python2.7编写的读取html中指定元素,并生成excle文件#coding=gbkimport stringimport codec
- 那么,现在如果给出一个权限编号,要去检索出用后这个权限的用户集合,就会需要在逗号分隔的多个权限编号中去匹配给出的这个权限编号。如果使用lik
- 处理excel表格的时候经常遇到合并单元格的情况,使用xlrd中的merged_cells的方法可以获取当前文档中的所有合并单元格的位置信息
- 简介pandas中的DF数据类型可以像数据库表格一样进行groupby操作。通常来说groupby操作可以分为三部分:分割数据,应用变换和和
- 本文主要介绍的关于Python切片赋值的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:昨天有同学问了我这么个问题:t = [1
- 我们学习完推导式之后发现,推导式就是在容器中使用一个for循环而已,为什么没有元组推导式?原因就是“元组推导式&
- 目录一·Numpy库中操作文件1.操作csv文件2.在pycharm中操作csv文件3.其他情况(.npy类型文件)二·Pandas库中操作
- 今天我们来写一个有管理功能的留言板程序。所谓的管理功能,其实就是每条留言前有一个选择框,点中要删除的留言,或者点“删除所有留言”,就完成了批
- 一个网站能切换不同的CSS风格大家应该都了解,像众所周知的腾讯在今年改版时也增加了切换皮肤的功能。根据时间自动调整站点风格是不错的想法,这种
- 下面是IN条件运算符的SQL语句:SELECT column1, SUM(column2) FROM&nbs
- 项目意义如果你想在支付宝蚂蚁森林收集很多能量种树,为环境绿化出一份力量,又或者是想每天称霸微信运动排行榜装逼,却不想出门走路,那么该pyth
- 测试数据:坐标数据:testExcelData.xlsx使用python读取excel文件需要安装xlrd库:xlrd下载后的压缩文件:xl
- 前一段时间有发过一个简单的JMAIL邮件发邮件的代码,今天就把这个代码做一个具体的注解,并增加了另外两个格式的代码,并举几个简单