相关疑难解决方法(0)

如何逐行读取文件到列表中?

如何在Python中读取文件的每一行并将每一行存储为列表中的元素?

我想逐行读取文件,并将每行附加到列表的末尾.

python string file readlines

2028
推荐指数
22
解决办法
342万
查看次数

如何将JSON数据写入文件?

我将JSON数据存储在变量中data.

我想将其写入文本文件进行测试,因此我不必每次都从服务器获取数据.

目前,我正在尝试这个:

obj = open('data.txt', 'wb')
obj.write(data)
obj.close
Run Code Online (Sandbox Code Playgroud)

我收到错误:

TypeError: must be string or buffer, not dict

如何解决这个问题?

python json

992
推荐指数
11
解决办法
134万
查看次数

547
推荐指数
6
解决办法
50万
查看次数

如何使用泡菜来保存字典?

我查看了Python文档提供的信息,但我仍然有点困惑.有人可以发布编写新文件的示例代码,然后使用pickle将字典转储到其中吗?

python dictionary pickle

304
推荐指数
7
解决办法
33万
查看次数

泡椒还是json?

我需要将一个小dict对象保存到磁盘,其对象的类型str和值是ints ,然后恢复它.像这样的东西:

{'juanjo': 2, 'pedro':99, 'other': 333}
Run Code Online (Sandbox Code Playgroud)

什么是最好的选择,为什么?用pickle或用simplejson?序列化?

我使用的是Python 2.6.

python json pickle

107
推荐指数
7
解决办法
7万
查看次数

如何将json序列化比Python中的yaml序列化快得多?

我的代码在很大程度上依赖于yaml来进行跨语言的序列化,并且在加速某些事情时,我注意到yaml与其他序列化方法(例如,pickle,json)相比非常慢.

所以真正让我感到震惊的是,当输出几乎相同时,json比yaml快得多.

>>> import yaml, cjson; d={'foo': {'bar': 1}}
>>> yaml.dump(d, Dumper=yaml.SafeDumper)
'foo: {bar: 1}\n'
>>> cjson.encode(d)
'{"foo": {"bar": 1}}'
>>> import yaml, cjson;
>>> timeit("yaml.dump(d, Dumper=yaml.SafeDumper)", setup="import yaml; d={'foo': {'bar': 1}}", number=10000)
44.506911039352417
>>> timeit("yaml.dump(d, Dumper=yaml.CSafeDumper)", setup="import yaml; d={'foo': {'bar': 1}}", number=10000)
16.852826118469238
>>> timeit("cjson.encode(d)", setup="import cjson; d={'foo': {'bar': 1}}", number=10000)
0.073784112930297852
Run Code Online (Sandbox Code Playgroud)

PyYaml的CSafeDumper和cjson都是用C语言编写的,所以这不是C和Python速度问题.我甚至添加了一些随机数据来查看cjson是否正在进行任何缓存,但它仍然比PyYaml快.我意识到yaml是json的超集,但是如此简单的输入,yaml序列化器怎么能慢2个数量级呢?

python serialization json yaml

53
推荐指数
5
解决办法
2万
查看次数

我应该使用YAML或JSON来存储我的Perl数据吗?

在过去6个月左右的时间里,我一直在使用YAML格式取得了一定的成功.

但是,YAML解析器的纯Perl实现对于手写可读文件来说相当烦躁,并且(在我看来)有令人讨厌的怪癖,例如在文件末尾需要换行.与我的其他程序相比,它也非常缓慢.

我正在思考我的项目的下一个演变,我正在考虑使用JSON(YAML的一个大部分严格的子集,事实证明).但是哪种格式在Perl中拥有最多的社区牵引力和努力?

现在看来,Perl,YAML或JSON中的简单数据描述的长期格式更好,为什么?

perl json yaml

46
推荐指数
3
解决办法
1万
查看次数

如何在Ruby中创建JSON对象

我正在用Ruby创建一个JSON文件.我需要在JSON文件中创建对象"companies".

预期结果:

{"companies":[
    {\"label\":\"Wayfair \",\"values\":[54]},
    {\"label\":\"Move24 \",\"values\":[29]},
    {\"label\":\"Auto1 \",\"values\":[23]},
...
]}
Run Code Online (Sandbox Code Playgroud)

我得到了什么:

[  
   "{\"label\":\"Wayfair \",\"values\":[54,54]}",
   "{\"label\":\"Move24 \",\"values\":[29,29]}",
   "{\"label\":\"GetYourGuide \",\"values\":[28,28]}",
   "{\"label\":\"Auto1.com \",\"values\":[20,20]}", ...
]
Run Code Online (Sandbox Code Playgroud)

我的代码:

data_hash = data_hash.map {|k,v| {label: k, values: v}}

companies_json = []

data_hash.each do |hash|
  companies_json << hash.to_json
end

File.open('companies.json', 'w') do |f|
  f << companies_json
end
Run Code Online (Sandbox Code Playgroud)

ruby parsing json

11
推荐指数
2
解决办法
2万
查看次数

何时使用 YAML 而不是 JSON

YAML 似乎比 JSON 格式的对象更具可读性,除了可读性之外,PyAML 代替 JSON 有什么优点或缺点?我们应该如何在两者之间做出决定,请注意,我不是在问两者之间的区别,而是关于为什么以及何时使用另一个的建议?

json yaml pyyaml

8
推荐指数
1
解决办法
5543
查看次数

哪些有效的JSON文件不是有效的YAML 1.1文件?

YAML 1.2是(关于重复键的一个小警告)JSON的超集,因此任何有效的JSON文件也是有效的YAML文件.但是,YAML 1.1规范(具有最多库支持)并未提及JSON.大多数有效的JSON文件都是有效的YAML 1.1文件,但我通过试验PyYaml和Python的标准JSON库发现了至少一个异常:

  • 双精度浮点溢出,如12345e999被解释为PyYAML字符串和IEEE无穷大的Python的JSON库.

有没有人有一个完整的差异列表,比在特定实现中测试边缘情况更有力地确定?(也就是说,从规范的比较中?)例如,我想生成JSON字符串,它们将由JSON解析器和YAML 1.1解析器以相同的方式解释:我必须在字符串上放置哪些约束?

json yaml

7
推荐指数
2
解决办法
2370
查看次数

标签 统计

json ×7

python ×6

yaml ×5

pickle ×2

dictionary ×1

file ×1

parsing ×1

perl ×1

pyyaml ×1

readlines ×1

ruby ×1

serialization ×1

string ×1