Python中的Json文件处理:将输入写入文件

Python中的Json文件处理:将输入写入文件,python,Python,这是我试图以{“Example1”:“Example”}格式写入JSON文件的代码 我收到一个错误,内容如下: db_file.write(json.dump({“Admin”:keyPass},db_文件)) TypeError:必须是str,而不是None 对于此代码: keyPass = input("Create Admin Password » ") with codecs.open(os.path.join(

这是我试图以{“Example1”:“Example”}格式写入JSON文件的代码 我收到一个错误,内容如下:

db_file.write(json.dump({“Admin”:keyPass},db_文件))
TypeError:必须是str,而不是None

对于此代码:

         keyPass = input("Create Admin Password » ")                    
         with codecs.open(os.path.join(PATH), 'w') as db_file:
             db_file.write(json.dump({"Admin": keyPass}, db_file))
这是一个奇怪的部分,它在文件中创建它很好,我希望它的格式是正确的,但它仍然会出现上面的错误


有人能帮我纠正一下吗?

json.dump函数的前两个参数是:

  • obj:要序列化的对象
  • fp:将数据写入的类似文件的对象
这里发生的事情是,对json.dump的内部调用成功地将json编码的字符串写入到您的文件中,然后您尝试将其输出(始终为无)传递给fileobject的write函数

您有两个选择:

  • 使用json.dumps(StringToEncodesjson)代替json.dump,后者将返回json格式的字符串,然后可以使用fileObject的write函数将其写入文件
  • 从json.dump调用中删除fileObject的write函数
  • 更新:

    以下是一些你可以做到这一点的例子

    keyPass = input("Create Admin Password > ")
    
    with open(pathName, 'w') as db_file:
        db_file.write(json.dumps({"Admin": keyPass}))
    
    with open(pathName, 'w') as db_file:
        json.dump({"Admin": keyPass}, db_file)
    

    json.dump函数的前两个参数是:

    • obj:要序列化的对象
    • fp:将数据写入的类似文件的对象
    这里发生的事情是,对json.dump的内部调用成功地将json编码的字符串写入到您的文件中,然后您尝试将其输出(始终为无)传递给fileobject的write函数

    您有两个选择:

  • 使用json.dumps(stringToEncodeAsJSON)而不是json.dump,它将返回json格式的字符串,然后可以使用fileObject的write函数将其写入文件
  • 从json.dump调用中删除fileObject的write函数
  • 更新:

    以下是一些你可以做到这一点的例子

    keyPass = input("Create Admin Password > ")
    
    with open(pathName, 'w') as db_file:
        db_file.write(json.dumps({"Admin": keyPass}))
    
    with open(pathName, 'w') as db_file:
        json.dump({"Admin": keyPass}, db_file)
    

    这有什么错:使用codecdes.open(os.path.join(path),'w')作为db_文件:json.dump({“Admin”:keyPass})与原始问题相关吗?您正在调用json.dump,但没有传入文件指针参数,这是必需的。我试图解决此问题,但我认为我不理解。让我给您举几个例子。我现在理解此问题。。非常感谢。我想我累了。。XD这有什么错:使用codecks.open(os.path.join(path),'w')作为db_文件:json.dump({“Admin”:keyPass})与原始问题相关吗?您正在调用json.dump,但没有传入文件指针参数,这是必需的。我试图解决此问题,但我认为我不理解。让我给您举几个例子。我现在理解此问题。。非常感谢。我想我累了。。除息的