晟猫 2024-01-29 13:28 采纳率: 82.4%
浏览 3
已结题

python在某个.py中用with open 打开某个文件 这个文件和.py文件的位置关系应该是怎样的 python一直报错找不到文件

img


就是我现在把world_population.py文件放在人口地图.py的文件夹下,然后把population_data.json放在人口地图.py下的文件夹配套资源.py里
请问怎么修改呢

  • 写回答

4条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-01-29 13:31
    关注

    引自免费微信小程序:皆我百晓生

    要解决这个问题,你需要将文件的路径设置为相对路径。相对路径是相对于当前工作目录的路径,可以根据文件的位置和当前脚本的位置来确定。

    假设你的文件结构如下所示:

    - 人口地图.py
    - 文件夹配套资源.py
    - world_population.py
    - population_data.json
    

    在人口地图.py中,你可以使用以下代码来打开population_data.json文件:

    import os
    import json
    
    # 获取当前脚本所在的目录
    current_dir = os.path.dirname(__file__)
    
    # 构建population_data.json文件的路径
    file_path = os.path.join(current_dir, "文件夹配套资源.py", "population_data.json")
    
    # 打开并读取population_data.json文件
    with open(file_path, 'r') as file:
        data = json.load(file)
    

    在这个代码片段中,__file__是一个内置变量,表示当前脚本的文件路径。os.path.dirname(__file__)用来获取当前脚本所在的目录。

    os.path.join(current_dir, "文件夹配套资源.py", "population_data.json")用来构建population_data.json文件的路径。这里使用os.path.join()函数来拼接路径,确保路径的正确性。

    然后,你可以使用with open来打开并读取population_data.json文件。

    希望这可以帮到你!如果还有其他问题,请随时向我提问。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 2月14日
  • 已采纳回答 2月6日
  • 创建了问题 1月29日

悬赏问题

  • ¥15 from seleniumwire import webdriver 在抓取http://链接的时候会自动转https://这个怎么解决
  • ¥15 hive直连数据库模式插入mysql表数据失败(相关搜索:数据库)
  • ¥30 不会,学习,有偿解答
  • ¥15 SQL查询语句报错(检查)
  • ¥15 此表中公式应该怎么写
  • ¥15 求HI-TECH PICC 9.50 PL3安装包
  • ¥15 下载ctorch报错,求解
  • ¥15 如何入门学习c语言,单片机
  • ¥15 idea 编辑语言的选择
  • ¥15 Windows下部署Asmjit