gpt4 book ai didi

Python:为什么字符串的每个字符都在换行符上

转载 作者:行者123 更新时间:2023-11-28 21:19:36 25 4
gpt4 key购买 nike

我一直在尝试解决这个问题,但我做不到。我有以下代码:

import json

def jsonblock(filename):
my_array = []
with open(filename) as f:
for line in f:
my_array.append(line)
p = " ".join(str(x) for x in my_array)
return p;

for i in jsonblock('P5.json'):
print(i)

我的 P5.json 是

    {
"signalPassed" : true,
"location" : {
"longitude" : 113.3910083760899,
"latitude" : 22.57224988908558
},
"phoneOsVersion" : "7.0.3",
"signalStdDev" : 4.139107,
"phoneModel" : "iPad",
}

我想要 str 格式的正常输出,但是当我这样做时,我得到以下输出:

    "
7
.
0
.
3
"
,





"
s
i
g
n
a
l
S
t
d
D
e
v
"

:

4
.
1
3
9
1
0
7
,


}

问题出在哪里?我怎样才能解决这个问题?

最佳答案

您的函数 jsonblock 返回一个字符串,即 ''.join(...) 的结果。迭代一个字符串会产生单独的字符,您可以在末尾的 for 循环中将这些字符一个一个地打印出来。

要“解决”您眼前的问题,只需 print jsonblock('P5.json') 而不是使用 for 循环。

但是,您可能想要做的是正确解析 json。在这种情况下,请使用您已在顶部导入的 json 库。

filename = 'P5.json'
with open(filename, 'rb') as f:
data = json.load(filename)
print data # data is a dictionary in this case

关于Python:为什么字符串的每个字符都在换行符上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24388913/

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