Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 什么文件类型最适合这种情况?_Python_Json_File_Format - Fatal编程技术网

Python 什么文件类型最适合这种情况?

Python 什么文件类型最适合这种情况?,python,json,file,format,Python,Json,File,Format,我有一个Python程序,它使用Selenium每隔X分钟从网站上刮取一些数据。 每个示例都表示为一个元组,带有布尔值和日期时间,例如: from datetime import datetime result = (True, datetime.now()) 通常我会将样本保存在数据库中,这很容易做到,但这次我需要将它们保存到一个文件中。 因此,在每次采样之后,我需要打开文件,并附加结果元组 但是,最初我使用JSON,为了附加新数据,必须首先使用JSON.load,然后附加结果,然后再次

我有一个Python程序,它使用Selenium每隔X分钟从网站上刮取一些数据。 每个示例都表示为一个元组,带有布尔值和日期时间,例如:

from datetime import datetime


result = (True, datetime.now())
通常我会将样本保存在数据库中,这很容易做到,但这次我需要将它们保存到一个文件中。 因此,在每次采样之后,我需要打开文件,并附加结果元组

但是,最初我使用JSON,为了附加新数据,必须首先使用
JSON.load
,然后附加结果,然后再次使用
JSON.dump

然而,由于我最终将不得不处理大量的样本,因此追加的过程将大大减慢,因为我必须在再次写入之前读取整个文件


因此,JSON在这里可能不是一种好的格式。还有什么其他格式可以让我编写元组,然后轻松地阅读它们?(=不必逐个字符地将它们解析为元组)。

由于文本文件很容易,并且非常支持
open('a')
模式,我只能建议这样做。从技术上讲,您可以将元组转换为字符串“True,formatted_date”,并将其保存在
.txt
文件中,但由于它是逗号分隔的,您甚至可以将其保存为
.csv
文件。显然,当读回时,您必须将日期字符串解析为实际日期,但如果您使用单一格式,这应该不难。我想我找到了解决问题的方法:有一种名为pickle的格式,它以二进制格式存储python对象,然后将它们读回对象。哦,是的,pickle很棒。只要确保在取消勾选数据时始终具有兼容的python版本即可。