将列表写入文件并使用 simplejson 将内容读回到列表中
我想将列表写入文件并将文件内容读回到列表中。 我可以使用 simplejson 将列表写入文件,如下所示:
f = open("data.txt","w")
l = ["a","b","c"]
simplejson.dump(l,f)
f.close()
现在要读回文件,但是
file_contents = simplejson.load(f)
,我猜 file_contents 是 json 格式。有什么方法可以将其转换为列表吗?
谢谢。
I would like to write a list to a file and read back the contents of the file into a list.
I am able to write the list to the file using simplejson as follows:
f = open("data.txt","w")
l = ["a","b","c"]
simplejson.dump(l,f)
f.close()
Now to read the file back i do
file_contents = simplejson.load(f)
But, i guess file_contents is in json format. Is there any way to convert it to a list ?
Thank You.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
确实按照您指定的方式重新加载数据。您可能会感到困惑的是,JSON 中的所有字符串始终都是 Unicode - JSON(如 Javascript)没有与“unicode”不同的“字节字符串”数据类型。
编辑我不再有旧的
simplejson
(因为它的当前版本已成为标准Python库的一部分json
),但它的工作原理如下(将json
伪装成simplejson
以避免让您感到困惑!-)...:如果这个确切的代码(前两行的净值)当然,如果您所做的是
import simplejson
;-) 与您观察到的情况不符,那么您就发现了一个错误,因此报告 Python 和simplejson< 的版本至关重要/code> 您正在使用的错误以及您收到的错误,并完成回溯(编辑您的 Q 以添加此信息 - 显然至关重要 - 信息!)。
is indeed reloading the data exactly as you specify. What may be confusing you is that all strings in JSON are always Unicode -- JSON (like Javascript) doesn't have a "byte string" data type distinct from "unicode".
Edit I don't have the old
simplejson
around any more (since its current version has become part of the standard Python library asjson
), but here's how it works (makingjson
masquerade assimplejson
in the hope of avoiding confusing you!-)...:If this exact code (net of the first two lines if what you do instead is
import simplejson
of course;-) doesn't match what you observe, you've found a bug, so it's crucial to report what versions of Python andsimplejson
you're using and exactly what error you get, complete with traceback (edit your Q to add this -- obviously crucial -- info!).Unipath 的
.read_file
和.write_file
选项真的让这变得简单。The
.read_file
and.write_file
options for Unipath really make this simple.