print(__file__)返回<encoding error>的问题
2024-09-25 10:54:43
今天写了一下代码,本来是想得到当前文件的上面三层的目录的,结果返回的却是错误
import os
import sys print(__file__)
# 得到上上层目录的路径之后,加入到默认的环境变量中
BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
sys.path.append(BASE_DIR)
print("******", BASE_DIR) 输出结果:
<encoding error>
******
然后在Stack Overflow中看到了以下说法
https://stackoverflow.com/questions/7783308/os-path-dirname-file-returns-empty
上面的大概意思说dirname和basename在分割路径的时候并不会去考虑当前路径,因此我们需要做以下修改,但是我之前写过的一个程序用的是相同的代码,可以执行,这让我很费解,不过问题确实解决了,如果有好心的网友知道具体的原因,还请在下面评论中指点迷津
修改代码:把__file__改成os.path.abspath(__file___)就可以了
import os
import sys print(os.path.abspath(__file__))
# 得到上上层目录的路径之后,加入到默认的环境变量中
BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
sys.path.append(BASE_DIR)
print("******", BASE_DIR)
最新文章
- RequireJS+JQueryMobile
- JavaScript-取消事件-e.preventDefault();
- ajaxfileupload回到json带<;pre>;
- Java生成公私钥对
- FZU 2148 Moon Game
- 130712周赛(CF)
- memcpy函数的使用方法
- 如何在Mac系统安装eclipse并运行java程序?
- MySQL定时逻辑备份
- Netty 4源码解析:服务端启动
- hex转mif文件 verilog
- 两种 AuthorizationSchemes 在 ASP.NET Core 2
- Linux操作系统网络配置
- 配置文件 .properties 的使用。
- datagridview 单元格类型转换【备忘】
- qt-vs-addin:Qt4和Qt5之VS插件如何共存与使用(转)
- spring-boot4代码
- python - work5 - 类与对象 - 拓展题
- 初入Three.js 第一章
- 查询sqlserver数据库,表占用数据大小
热门文章
- eclipse插件svn和客户端工具TortoiseSvn的版本对应关系
- checkpoint(sqlserver数据库检查点)
- dedecms 权重排序问题
- ZT 头文件包含其实是一想很烦琐的工作 第一个原则应该是,如果可以不包含头文件
- 【转载】#457 Converting Between enums and their Underlying Type
- bzoj3820 虫逢
- ACM-ICPC(10 / 10)——(完美世界2017秋招真题)
- 显示Windows版本号
- 2018.10.10 Java的The superclass ";javax.servlet.http.HttpServlet"; was not found on the Java Build Path 错误
- js学习笔记-数字转罗马数字