分享自己写python时遇到的错误

零下一度
Lepaskan: 2017-06-30 09:28:48
asal
1121 orang telah melayarinya

今天写了一下代码,本来是想得到当前文件的上面三层的目录的,结果返回的却是错误

import osimport sysprint(__file__)# 得到上上层目录的路径之后,加入到默认的环境变量中BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
sys.path.append(BASE_DIR)print("******", BASE_DIR)

输出结果:<encoding error>
******
Salin selepas log masuk

然后在Stack Overflow中看到了以下说法

上面的大概意思说dirname和basename在分割路径的时候并不会去考虑当前路径,因此我们需要做以下修改,但是我之前写过的一个程序用的是相同的代码,可以执行,这让我很费解,不过问题确实解决了,如果有好心的网友知道具体的原因,还请在下面评论中指点迷津

 

修改代码:把__file__改成os.path.abspath(__file___)就可以了

import osimport sysprint(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)
Salin selepas log masuk

Atas ialah kandungan terperinci 分享自己写python时遇到的错误. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!