惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 司徒正美
T
The Blog of Author Tim Ferriss
F
Fortinet All Blogs
Martin Fowler
Martin Fowler
罗磊的独立博客
The GitHub Blog
The GitHub Blog
L
LangChain Blog
A
About on SuperTechFans
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
D
DataBreaches.Net
宝玉的分享
宝玉的分享
U
Unit 42
阮一峰的网络日志
阮一峰的网络日志
Last Week in AI
Last Week in AI
N
Netflix TechBlog - Medium
The Cloudflare Blog
Microsoft Azure Blog
Microsoft Azure Blog
H
Help Net Security
美团技术团队
大猫的无限游戏
大猫的无限游戏
雷峰网
雷峰网
爱范儿
爱范儿
酷 壳 – CoolShell
酷 壳 – CoolShell
MongoDB | Blog
MongoDB | Blog

碎言

不懂就别瞎掰掰:【程序员的常识】写的什么玩意? AI 辅助编程下的程序设计与代码编写 使用 Next.js 和 Tailwind CSS 构建可编辑和删除的 ToDo 待办事项应用 探索编程新境界:MarsCode 助你一臂之力 使用 Next.js 和 Tailwind CSS 搭建静态图片展示站点并部署到 Vercel AI 辅助编程:免费工具的优缺点及官网一览 GitHub push更新总是失败,写个python脚本解决 把博客从GitHub迁移到到了vercel ComfyUI 和 Flux.1 安装与使用教程 Flux.1 入门必知:硬件、环境、模型 Git项目的子文件夹中的内容无法同步到远程仓库的解决方法 blender流体Fluid使用中没有流体、流体穿模等一些问题的解决方法 博客聚合网站:积薪,竟然关闭了! blender日常使用中的一些技巧 虽然只有我自己在用,但还是更新了碎言博客的源代码, 与其在迷茫中困惑,不如在努力中前进 差点忘了我还有一个博客... 秧歌、博客和AI 终于熬到了新手上路 好久没有更新博客了。。。 老妈大腿骨骨折,最近一直在医院护理 Hello, September! Ubuntu开机自动启动Docker容器运行WordPress Docker 简单快速安装部署WordPress Docker下安装MySQL 加碘盐能防核辐射的话,还怕什么核战争? shields.io 一个简洁、一致、清晰的徽章 Ubuntu下使用root登录ssh的设置 GitHub Actions 构建、部署 Next.js项目 我又用回了"IE"--edge
Python os.path.dirname(__file__) 在终端命令行下报错
J.sky · 2018-11-22 · via 碎言

最近在写程序中用到了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__))就是返回当前文件所在的目录的绝对地址,这样我们就轻松的得到当前文件所属目录了。 困扰人生的小问题就这样绝对喽!

本文源码下载: