python相对路径找不到文件_Python 解决相对路径问题:"No such file or directory"

2023-11-02

如果你取相对路径不是在主文件里,可能就会有相对路径问题:"No such file or directory"。

因为 python 的相对路径,相对的都是主文件。

如下目录结构:

| -- main.py

| -- conf.py

| -- start.png

| -- config.txt

main.py 是主文件。

conf.py 里引用 config.txt 用相对路径。

如果用 . 或 … 相对的是 main.py,所以用 "./config.txt",相对于 main.py 是同一个目录下。

.指当前文件所在的文件夹,… 指当前文件的上一级目录。

补充知识:解决python模块调用时代码中使用相对路径访问的文件,提示文件不存在的问题

问题分析:

在编码过程中使用相对路径使代码的稳定性更好,即使项目目录发生变更,只要文件相对路径不变,代码依然可以稳定运行。但是在python代码中使用相对路径时会存在以下问题,示例代码结构如下:

20200605090506.jpg

其中test包中包含两个文件first.py和user_info.txt,first.py代码中只有一个函数read_file,用于读取user_info.txt文件第一行的内容,并打印结果,读取文件使用相对路径,代码如下:

import os

print("当前路径 -> %s"

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

python相对路径找不到文件_Python 解决相对路径问题:"No such file or directory" 的相关文章

  • 小程序文章详情界面id传送问题

    今天在做由文章列表跳转至文章详情界面时发现不能正常获取文章ID 控制台显示未定义 经过询问他人与搜索资料终于找到了问题所在之处 心累 可以看到这里显示id未定义 错误中学到了什么 大家在发现错误时 一定要善于用console log 来看一
  • 解决创建Vue项目出现template下方有红色波浪错误

    问题 在创建完vue项目后每个点开的文件只要有template或const等单词都会出现红色波浪线报错提示 虽然不影响项目运行 但是看着还是非常碍眼 将鼠标一上去会显示 No Babel config file detected for 路
  • Linux中top命令参数详解

    因为面试经常会问top命令用法 以及各个参数的含义 因此转载补充了了一下 以便自己学习 top命令经常用来监控linux的系统状况 是常用的性能分析工具 能够实时显示系统中各个进程的资源占用情况 top的使用方式 top d number
  • 小程序引入vant-Weapp保姆级教程及安装过程的问题解决

    小知识 大挑战 本文正在参与 程序员必备小知识 创作活动 本文同时参与 掘力星计划 赢取创作大礼包 挑战创作激励金 当你想在小程序里引入vant时 第一步 打开官方文档 第二步 切到快速上手 然后开始步骤一 步骤二 步骤三 你只会看到 以下
  • Awesome IoT

    本文来自 https github com HQarroum awesome iot 中文可以参考 https yq aliyun com articles 54793 Inspired by the awesome list thing
  • 基于BowyerWatson的Delaunay三角化算法实现

    实现效果如下图所示 代码 include
  • 【C++】 Qt-线程并发与线程同步

    文章目录 线程并发 线程同步 原子访问 InterLocked 关键段 Critical Section 也叫临界区 回顾单例出现的问题 关键段基本使用 封装关键段 Qt下的多线程 多线程与进度条 Qt QThread 线程并发 我们再创建
  • angular2下用http到由SpringMVC发布rest服务的服务器端拉取数据

    本文讲述如何使用angular2的http服务来去一台由SpringMVC发布的rest服务的服务器上拉取数据 我们现来上服务端代码 ResponseBody RequestMapping hero public Object getDat
  • linux服务器上前后端部署流程

    linux服务器上前后端部署流程 本文介绍如何在Linux上部署前段和后端的流程 以及遇见的bug Vue前端部署流程 首先 在服务器上 本文以华为云服务器为例 开启80端口 在服务器上下载nginx 更新apt源 sudo apt upd
  • Rust + Wasm 实现浏览器格式化 JSON

    本文代码 查看效果 依赖工具 cargo install wasm pack Cargo toml package name wasm bindgen record version 0 1 0 authors Li Lei
  • 如何解决段错误

    程序运行时崩溃应该是经常遇到的事情 本篇文中就来讲解一下在Linux下如何解决程序崩溃 也就是发生了段错误之后找到程序具体出错的地方 如果程序通过了编译 但是在使用命令 a out 运行时程序崩溃了 即显示 段错误 core dumped
  • Angular—目录

    开始Angular开发 Angular环境搭建 Angular开发准备 Angular页面搭建 Angular 路由 Angular 路由基础 Angular 路由数据传递 Angular 重定向路由 子路由 Angular 辅助路由 An
  • 蓝桥杯算法训练VIP-阶乘

    题目 题目链接 题解 思维 既然它要取最后一个非零位 那么我们第一时间想到的肯定是取模 只用保留后几位就行了 但是保留后几位呢 对10的多少次方取模合适呢 数据量是100 那么估算一下存在多少个零 能导致末尾零的出现无非就是乘以十的倍数或者
  • Java中的代码块

    1 什么是代码块 java代码中 直接写在 中的 没有方法名的方法称之为代码块 2 常见的代码块分类 1 静态代码块 2 构造代码块 3 局部代码块 4 同步代码块 3 静态代码块 1 特点 随着类的加载而执行 并且仅仅执行一次 优先于主函
  • win10下安装tensorflow-gpu1.13

    1 登录Anaconda官网 下载最新Python3 7版本 如图所示 对应的是windows 2 安装Anaconda时 记得选自动分配路径 就是在弹出的需要 的窗口 把两个选项都打勾 之后 打开Anaconda Navigator 点击
  • 使用String.split拆分多个空格的问题

    当用String split拆分字符串时 如果连着有两个或多个空格 那么得到的String数据就会包含一个空格 这样是不对的 使用如下方法可以解决 String split s 1
  • rsync基本命令,使用详细指导

    Rsync是一款强大的备份同步工具 这里对Rsync的基本命令和用法进行详细说明 Rsync基本命令 bash rsync 选项 lt 源 gt lt 目的地 gt 常用选项 v 详细输出 显示传输过程 r 递归处理 传输目录 a 归档模式
  • STM32H723+Lwip+ETH+CUBE 完整配置(排了巨多坑!)

    因为H723ZET6是ST目前最新的芯片 对于这个芯片的LWIP配置 官方库极其不友好 而且贼多BUG 踩了好久的坑 历经诸多苦难 终于能够正常PING通和进行TCP UDP通讯了 而且在国内基本上找不到H723ZET6的LWIP配置教程
  • 测试基础-动态黑盒测试

    1 动态黑盒测试 不深入代码细节测试软件的方法称为动态黑盒测试 动态 因为程序在运行 黑盒 测试时不知道程序如何工作 测试员输入数据 接受输出 检验结果 2 通过性测试和失效性测试 通过性测试 test to pass 确认软件至少能做什么

随机推荐

  • 50个渗透(黑客)常用名词及解释

    目录 前言 一 渗透测试 二 网络安全 三 安全攻击 四 黑客工具 五 渗透方法 六 网络钓鱼 七 攻击技术 八 其他名词 总结 前言 网络安全是当今互联网时代不可忽视的重要议题 随着科技的发展 黑客渗透技术也日益复杂和潜在危险 为了加强对
  • 首次参加字节飞书面试败北

    我17年正式本科毕业的 2021年是我自毕业后开始尝试投简历 以前大学有门课在智联上制作了简历 现在四年 我下载app上面就没了 我今年这次注册了boss直聘的这个 正好在315后面隔天注册的 发现挺多主动发起招呼的 我把猎头屏蔽了 个人有
  • swift4--页面跳转的几种方法

    首先要在appDelegate里添加导航视图控制器navigationColler func application application UIApplication didFinishLaunchingWithOptions launc
  • 《数据结构、算法与应用C++语言描述》线性表-链表描述

    11 数据结构 算法与应用C 语言描述 线性表 链表描述 11表示第11篇博文 6表示在 数据结构算法与应用C 语言描述 书中所在章节 本文包含了 数据结构 算法与应用C 语言描述 第六章主要练习题答案 给出了线性表链表描述完整测试代码 6
  • HTML中多种空格转义字符

    转自 http codenote mao li html nbsp 记录一下 空格的转义字符分为如下几种 1 nbsp 160 不断行的空白 1个字符宽度 2 ensp 8194 半个空白 1个字符宽度 3 emsp 8195 一个空白 2
  • Kubernetes安装手册(Ubuntu非高可用版-CNI-flannel)

    CKA考试环境 Kubernetes 安装手册 Ubuntu非高可用版 安装前准备工作 1 设置hosts解析 操作节点 所有节点 k8s master 均需执行 修改hostname hostname必须只能包含小写字母 数字 且开头结尾
  • keras中Sequential模型及方法

    Sequencial 序贯模型 序贯模型是函数式模型的简略版 为最简单的线性 从头到尾的结构顺序 不分叉 是多个网络层的线性堆叠 可以通过将层的列表传递给Sequential的构造函数 来创建一个Sequential模型 from kera
  • 假设利用两个线性表La和Lb分别表示两个集合A和B(即线性表中的数据元素即为集合中的成员),现要求一个新的 集合A=AUB。这就要求对线性表作如下操作:扩大线性表La,将存在于线性表Lb中而不存在于线

    假设利用两个线性表La和Lb分别表示两个集合 和 即线性表中的数据元素即为集合中的成员 现要求一个新的 集合A AUB 这就要求对线性表作如下操作 扩大线性表La 将存在于线性表Lb中而不存在于线性表La中的数据元素插入 到线性表La中去
  • GPT系列模型

    Transformer发展 之 GPT系列模型结构 我按照Transformer的发展路线来学习入门 Transformer BERT GPT DETR ViT Swin ViT DeiT 上一篇写了Transformer 听了李宏毅和李沐
  • 美团多场景建模的探索与实践

    本文介绍了美团到家 站外投放团队在多场景建模技术方向上的探索与实践 基于外部投放的业务背景 本文提出了一种自适应的场景知识迁移和场景聚合技术 解决了在投放中面临外部海量流量带来的场景数量丰富 场景间差异大的问题 取得了明显的效果提升 希望能
  • 【知识分享】苹果Apple-Mac操作系统OS的Big Sur 和Monterey的异同

    问题提出 今天在电脑里突然发现有个Monterey的app 但是我记得我没有下载过 应该是电脑自己下的 我的系统是 到底要不要升级呢 这两东西又啥区别呢 答疑解惑 monterey和bigsur区别详细介绍 简单说 Monterey较big
  • 【Simulink Test】模型自动测试

    Simulink Test 模型自动测试 Test Manager简介 构建一个测试模型 使用TestManager新建一个测试模板 打开Simulink Test Manager 通过教程创建一个测试用例 修改测试输入输出进行测试 测试表
  • CentOS 7 安装 JAVA环境(JDK 1.8)

    首先去到Oracle官网 https www oracle com java technologies javase javase jdk8 downloads html 下载Linux64位版 2 下载命令 wget https down
  • linux+查内存数量,检查 Linux 中内存使用情况的 8 条命令

    作为一名 Linux 管理员 知道如何获取当前可用的和已经使用的资源情况 比如内存 CPU 磁盘等 是相当重要的 Magesh Maruthamuthu Linux 并不像 Windows 你经常不会有图形界面可供使用 特别是在服务器环境中
  • 一文2500字使用Python进行GRPC和Dubbo协议的高级测试

    01 GRPC测试 GRPC Google Remote Procedure Call 是一种高性能 开源的远程过程调用 RPC 框架 由 Google开发并基于Protocol Buffers protobuf 进行通信 它使用了HTTP
  • vue 设置下拉框三级联动

    如图中 用vue实现三个选择框是联动关系 首先选择厂商 然后品牌下拉框中出现的品牌是所选厂商包含的品牌 同理 选择完品牌后 车型也是所选品牌中包含的车型 例如有这样的对应关系 厂商 品牌 车型 长城 哈弗 HB01 HB02 HB03 WE
  • 【CTF_流量日志分析】来看看这段日志_提取日志中base64部分解码

    1 打开日志文件url解码进行观察 很明显传输的一段base64编码 随意解码一条发现为 var dump ord file get contents maybeinthisfile php 55 90 即对任意几条进行base64解码发现
  • python 深浅拷贝 赋值

    本质上和语言无关 是三种复制对象的方式 数据在物理地址中的内容 这个物理地址需要用地址寻址 那么复制就有多种办法 例如使两个变量指向同一个地址 或是创建一份新的物理地址存储同样内容 深拷贝 对象的本质是 名称 地址 引用 编程时用名称代替
  • fmp4打包H265视频流

    1 fmp4打包H265视频流 文章目录 1 fmp4打包H265视频流 1 1 码流存储和传输格式介绍 1 1 1 Annex B封装格式 1 1 2 AVCC封装格式 1 1 2 HVCC封装格式 1 2 fmp4封装H265 1 2
  • python相对路径找不到文件_Python 解决相对路径问题:"No such file or directory"

    如果你取相对路径不是在主文件里 可能就会有相对路径问题 No such file or directory 因为 python 的相对路径 相对的都是主文件 如下目录结构 main py conf py start png config t