Python中的__file__

2023-05-16

在Python项目开发过程中,有的时候会获取程序文件的相对路径或者绝对路径。因此经常会见到如下的语句:

import os
os.path.dirname(__file__)

因此本文件这里的__file__是指明什么呢?

其实就是当前python脚本运行的路径,再加上dirname实际上就是当前脚本的文件夹名称,但是也会分不同的情况。

如果执行命令时使用绝对路径,__file__就是脚本的绝对路径。

如果使用的是相对路径,__file__就是脚本的相对路径。

然而:在交互式环境中,则会爆出异常。因为此时__file__并未生成。

如以下代码:

import os

print os.path.dirname(__file__)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-3-b4616cfaa58d> in <module>()
----> 1 print os.path.dirname(__file__)

NameError: name '__file__' is not defined

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python中的__file__ 的相关文章

随机推荐

  • UNIX域套接字的网络编程实现

    UNIX域套接字 socket同样可以用于本地通信 xff0c 即主机内的进程间通信 创建套接字时使用本地协议AF UNIX 或AF LOCAL 关于socket函数接口的介绍可参考我的另一篇博客 xff1a 链接 Linux网络基础介绍和
  • 堆排序、堆的定义、代码实现

    一 堆排序的定义 堆排序 xff08 Heapsort xff09 是指利用堆这种数据结构所设计的一种排序算法 二 堆的一些概念 1 堆的定义 堆是计算机科学中一类特殊的数据结构的统称 堆的逻辑结构 采用树形结构 xff0c 一般当做完全二
  • C++基础学习笔记

    说明 xff1a 此版只是C 43 43 基础学习的笔记 xff0c 涵盖内容有限 xff0c 知识点细节上也有所欠缺 xff0c 并未深入探讨各类机制的实现原理 所以在学习到相关知识点时建议参考其他博主的专门介绍的文章来深入学习 xff0
  • Qt基础介绍部分

    Qt是挪威一个团队开发的多平台C 43 43 图像用户界面应用程序框架 Qt是面向对象的框架 xff0c 使用特殊的代码生成扩展 Qt Creator是一个用于Qt开发的轻量级跨平台集成开发环境 支持跨平台开发 1 QT的优势 xff1a
  • UART协议讲解

    UART协议讲解 一 什么是UART协议二 通信方式的分类1 串行通信 xff08 一 xff09 同步通信和异步通信 xff08 二 xff09 单工和半双工以及全双工 2 并行通信 三 UART协议具体介绍1 UART数据传输的格式2
  • 常用的get、post请求有哪些

    常见的get post请求有哪些呢 常见的get请求有 form标签中method 61 get 发起的是get请求 a标签发起的是get请求 link标签引入css发起的是get请求 Script标签引入js文件发起的是get请求 img
  • 串口通信整理:二、数据发送之多位数据发送

    本文基于前一篇串口模块基础版进一步对串口发送数据整理 xff0c 并通过仿真进行验证 xff0c 所有代码都可直接跑通 xff0c 注意各个模块名字 首先再次回顾一下通信协议UART 本质就是并行数据转串行数据 关键参数 xff1a 起始位
  • HTTP协议解析

    文章目录 一 HTTP协议基础1 定义2 工作原理3 特点4 与Https的区别 x1f435 HTTPS简介 xff1a 两者区别 xff1a 二 HTTP请求协议1 HTTP请求结构 xff1a 2 请求方法3 举例4 Post和Get
  • Java httpUtil工具类

    需要导入的依赖 xff1a span class token generics span class token punctuation lt span dependency span class token punctuation gt
  • 博士申请 | 浙江大学孙优贤院士课题组招收智能无人系统方向硕士生/博士生

    合适的工作难找 xff1f 最新的招聘信息也不知道 xff1f AI 求职为大家精选人工智能领域最新鲜的招聘信息 xff0c 助你先人一步投递 xff0c 快人一步入职 xff01 浙江大学 网络传感与控制研究组 xff08 Group o
  • 文件解析__JSON解析

    一 JSON解析 1 简介 xff1a JSON是一种轻量级的数据交换格式 2 Java解析JSON 序列化 xff1a 将Java对象转换成JSON格式的数据 反序列化 xff1a 将JSON格式的数据转换成Java对象 import c
  • XSSFWorkbook,SXSSFWorkbook以及EasyExcel读取Excel文件的比较

    同时读取30w数据 xff0c 比较运行时间及CPU 内存占比 1 EasyExcel package com apesource import java util ArrayList import java util List impor
  • 基于FTP协议的文件上传与下载

    一 什么是FTP FTP 是File Transfer Protocol xff08 文件传输协议 xff09 的英文简称 xff0c 而中文简称为 文传协议 用于Internet上的控制文件的双向传输 同时 xff0c 它也是一个应用程序
  • MyBatis

    目录 优点 缺点 重难点问题 xff1a 1 传递多个参数 2 与 的区别 3 resultMap 元素 4 批处理 MyBatis 是一个开源 轻量级的数据持久化框架 xff0c 是 JDBC 和 Hibernate 的替代方案 MyBa
  • TCP协议的拥塞控制

    一 什么是拥塞控制 发送方需要维护一个状态变量 拥塞窗口cwnd 来决定发送方同时可以发送多少数据包 二 控制算法 1 慢开始 当主机开始传送数据时 xff0c 如果把大量数据注入 xff0c 可能会造成网络堵塞 所有 xff0c 为了避免
  • Autowired实现原理

    一 认识 64 Autowired 64 Autowired 替换 xff1a autowire属性 自动装配 xff08 按照类型装配 xff0c 通过set方法 xff0c 且方法可以省略 xff09 位置 xff1a 修饰属性 xff
  • JavaScript常用事件

    目录 鼠标 键盘事件 1 onclick 事件 2 onmouseover 事件 3 onmouseout 事件 4 onkeyup 事件 表单事件 1 onchange 事件 2 onfocus 事件 3 onblur 事件 鼠标 键盘事
  • 2020年电赛总结

    前言 前几天电赛的成绩公布了 xff0c 跟师哥们混了个省三等奖 xff0c 不管怎么说 xff0c 还是想写点东西 xff0c 来纪念一下这一年来的经历 正文 参加电赛可以说本来没有在我预料的范围之内 xff0c 基本上准备电赛所学习的知
  • 「C/C++」一些值得学习的C++开源库

    目录 说明BoostPocoOpenCVEigenSQLiteQtTensorFlow 说明 学习这些 C 43 43 开源库不仅可以提高我们的编程水平 xff0c 同时也可以提高我们的编程效率 xff0c 加速我们的应用程序开发 当然 x
  • Python中的__file__

    在Python项目开发过程中 xff0c 有的时候会获取程序文件的相对路径或者绝对路径 因此经常会见到如下的语句 xff1a import os os path dirname file 因此本文件这里的 file 是指明什么呢 xff1f