TypeError:强制转换为Unicode

时间:2019-07-19 23:39:48

标签: python

这里有Python新手。

这是Python代码:

z = json.dumps("/opt/test/etc/file.json)
print(z)

结果是:

  

TypeError:强制转换为Unicode:需要字符串或缓冲区,已找到实例

我如何使其工作?我想打印出文件的输出。

3 个答案:

答案 0 :(得分:0)

如您在doc中所见,您对该函数感到困惑。是json.dump而不是Json.dumpss是这里的问题

答案 1 :(得分:0)

在此处查看json.dumps的文档:https://docs.python.org/3/library/json.html 它需要一个JSON对象,而不是文件名。如果您要加载包含JSON的文件,则需要json.load(),请这样做:

with open('foo.json') as f:
  obj = json.load(f)
  print(obj)

答案 2 :(得分:0)

MyWidget.ThisDoesntWork(self.parent)

采用dict等结构并将其转储为字符串。您将像这样使用它:

json.dumps(...) 

我相信,如果您尝试加载文件“ file.json”,则可以执行

my_val = { "key" : "value"}
s = json.dumps(my_val)
print(s) 
# outputs something like '{ "key" : "value"}'