【问题标题】:How to get path of a file in another folder using os python如何使用os python获取另一个文件夹中文件的路径
【发布时间】:2021-09-02 05:03:39
【问题描述】:

假设这是我的文件夹结构,

project
    main_folder
         file.py
    json_files_folder
         one.json
         two.json
         three.json

当我运行file.py 文件时,它应该获取json_files_folder 中文件的路径并打开一个文件, 这是我的代码,

import json
import os


try:
    file_path = os.path.dirname(os.path.realpath(__file__))
    filename = file_path + '/' + 'one' + '.json'
    with  open(filename) as file:
        data = json.load(file)
    return data
except:
     return "error"

我应该在 file_path 变量中进行哪些更改才能使此代码正常工作? 提前致谢!

【问题讨论】:

  • 试试这个import os p = os.path.abspath('..')如果你需要答案请评论

标签: python python-3.x operating-system backend filepath


【解决方案1】:

您的json 文件存在于json_files_folder 中,因此您需要遍历该路径以获取json 文件。这是相同的代码:

import json
import os


try:
    file_path = os.path.dirname(os.path.realpath(__file__))
    filename = file_path + '/../json_files_folder/one.json'
    with  open(filename) as file:
        data = json.load(file)
    print (data)
except Exception as ex:
     raise ex

【讨论】:

  • 除了解决方案本身改变异常处理程序是一个好主意。
【解决方案2】:

另一种解决方案是使用Pathlib.Path

import json
from pathlib import Path


try:
    base = Path(__file__).parent.parent
    filename = base / 'json_files_folder' / 'one.json'
    with  open(filename) as file:
        data = json.load(file)
    print(data)
except:
     return "error"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-19
    • 2010-10-14
    • 1970-01-01
    • 2013-06-08
    • 2017-11-03
    • 1970-01-01
    相关资源
    最近更新 更多