首页 > 编程问答 >存在的开放路径不起作用 - python

存在的开放路径不起作用 - python

时间:2024-08-03 05:32:58浏览次数:16  
标签:python path python-os

代码获取测试logs\log.jsonl的根路径,该路径在图像中显然在那里,但无法打开它

#doesnt work
dir_path = os.path.dirname(os.path.realpath(__file__))
with open(os.path.join(dir_path, "logs\\log.jsnol"), 'r') as jsondata:
    data = json.load(jsondata)

with open("logs/log.jsnol, 'r') as jsondata: 数据 = json.load(jsondata)


代码中存在几处错误导致无法打开文件:

  1. 拼写错误: "logs\log.jsnol" 中的 "jsnol" 应该是 "jsonl"。
  2. 路径分隔符: 在 Windows 上,路径分隔符应使用正斜杠 "/" 或者使用 os.path.join 来自动处理路径拼接,不要混用正斜杠和反斜杠。

以下是修正后的代码:

import os
import json

# 获取当前脚本的绝对路径
dir_path = os.path.dirname(os.path.realpath(__file__))

# 使用 os.path.join 拼接路径
file_path = os.path.join(dir_path, "logs", "log.jsonl")

# 打开文件并读取数据
with open(file_path, 'r') as jsondata:
    data = json.load(jsondata)

print(data) 

解释:

  1. 使用 os.path.join(dir_path, "logs", "log.jsonl") 来拼接路径,这样可以避免手动处理不同操作系统的路径分隔符问题。
  2. 修正了文件名中的拼写错误。

其他建议:

  • 可以使用 print(file_path) 来打印完整的文件路径,以确保路径拼接正确无误。
  • 如果仍然无法打开文件,请检查文件是否存在于认为的路径中,并且的程序拥有读取该文件的权限。

希望这些信息能帮到!

标签:python,path,python-os
From: 78827206

相关文章

  • 如何在系统PATH中永久添加路径? - Python
    我正在为我的一个项目创建一个安装程序,下载该项目的二进制文件(在ZIP文件中),然后将其解压缩到操作系统程序文件夹中的一个目录中,我想将此目录添加到|||。我的脚本是一个带有UI的安装程序,其目的是编译为PATH/可执行文件。如果你能找到我一种.exe平台无关......
  • python数据分析与可视化基础
    一、数据分析介绍:1.数据分析含义:数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,将它们加以汇总和理解并消化,以求最大化地开发数据的功能,发挥数据的作用。数据分析是为了提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。数据分析的数学基础在20世纪早......
  • 为什么要设置 os.environ[“PYTHONHASHSEED“] = “0“,这样做具体会影响哪些随机值?
    ......
  • Python,Geopandas报错,AttributeError: The geopandas.dataset has been deprecated and
    Python版本3.9,Geopandas版本1.0.1问题描述:这是执行的代码,importpandasaspdimportgeopandasimportmatplotlib.pyplotaspltworld=geopandas.read_file(geopandas.datasets.get_path('naturalearth_lowres'))world.plot()plt.show()这是报错信息,Traceback(mo......
  • Python,Maskrcnn训练,cannot import name ‘saving‘ from ‘keras.engine‘ ,等问题集合
    Python版本=3.9,tensorflow=2.11.0,keras==2.11.0问题一、module'keras.engine'hasnoattribute'Layer'Traceback(mostrecentcalllast):File"C:\Users\Administrator\Desktop\20240801\代码\test.py",line16,in<module>......
  • 7-Python数据类型——列表和元组的详解(增删改查、索引、切片、步长、循环)
    一、列表1.1列表list有序且可变的容器,可以存放多个不同类型的元素列表就是专门用来记录多个同种属性的值列表:存储同一个类别的数据,方便操作字符串,不可变:即:创建好之后内部就无法修改【内置功能都是新创建一份数据】name="xiaochaun"data=name.upper()print(nam......
  • python中的 is 和 ==
    一前言环境:win10python3.10二is和isnot1比较对象的identityis和isnot是python的比较运算符,比较运算符除了这两个,还有下图中的这些is和isnot比较的是两个对象的是identityidentity是啥,内置函数id()返回的就是这个东西通过上面id函数的解释,现在知道,identi......
  • Python应用开发——30天学习Streamlit Python包进行APP的构建(23):构建多页面应用程序
    创建动态导航菜单通过st.navigation,可以轻松创建动态导航菜单。您可以在每次重新运行时更改传递给st.navigation的页面集,从而更改与之匹配的导航菜单。这是创建自定义、基于角色的导航菜单的便捷功能。本教程使用st.navigation和st.Page,它们是在Streamlit1.36.0版中......
  • Python数据结构第二天—循环链表、树、二叉搜索树
    双向链表之前学习的单向链表只能从头遍历到尾,过程是单向的,而双向链表既可以从头遍历到尾,也可以从尾遍历到头,它的过程是双向的。既然它是双向的,那么我们要实现一个双向链表,就需要在单向链表的基础上,给每一个结点增加一个向前的引用。双向链表的创建:"""我们要实现的是一......
  • Python学习笔记50:游戏篇之外星人入侵(十一)
    前言本篇文章接着之前的内容,继续对游戏功能进行优化,主要是优化游戏状态以及对应的处理。状态一个游戏包含多种状态,这个状态是一个可以很复杂也可以很简单的内容。条件所限,我们这个游戏的状态就比较简单:未开始游戏中暂停结束我们通过一个字段进行控制,并且将这个字段放置......