gpt4 book ai didi

python - TypeError : expected str, 字节或 os.PathLike 对象,而不是 _io.TextIOWrapper

转载 作者:行者123 更新时间:2023-12-04 00:29:27 26 4
gpt4 key购买 nike

我正在尝试使用此处的示例打开、读取、修改和关闭 json 文件:

How to add a key-value to JSON data retrieved from a file with Python?

import os
import json

path = '/m/shared/Suyash/testdata/BIDS/sub-165/ses-1a/func'
os.chdir(path)

string_filename = "sub-165_ses-1a_task-cue_run-02_bold.json"

with open ("sub-165_ses-1a_task-cue_run-02_bold.json", "r") as jsonFile:
json_decoded = json.load(jsonFile)

json_decoded["TaskName"] = "CUEEEE"

with open(jsonFile, 'w') as jsonFIle:
json.dump(json_decoded,jsonFile) ######## error here that open() won't work with _io.TextIOWrapper

我一直在最后收到错误(对于 open(jsonFile...),我不能将 jsonFile 变量与 open() 一起使用。我使用了上面链接中提供的示例的确切格式,所以我不确定为什么它不起作用。这最终是进入一个更大的脚本,所以我想远离硬编码/使用字符串作为 json 文件名。

最佳答案

这个问题有点旧,但对于任何有同样问题的人:
你是对的,你不能打开 jsonFile 变量。它是一个指向另一个文件连接的指针,并且 open 需要一个字符串或类似的东西。值得注意的是,一旦您退出 'with' 块, jsonFile 也应关闭,因此不应在此之外引用它。
不过要回答这个问题:

with open(jsonFile, 'w') as jsonFIle:
json.dump(json_decoded,jsonFile)
应该
with open(string_filename, 'w') as jsonFile:
json.dump(json_decoded,jsonFile)
您可以看到我们只需要使用相同的字符串来打开一个新连接,然后我们可以根据需要为其提供用于读取文件的相同别名。我个人更喜欢 in_file 和 out_file 只是为了明确我的意图。

关于python - TypeError : expected str, 字节或 os.PathLike 对象,而不是 _io.TextIOWrapper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53198665/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com