Python 将可变大小的数组写入文件
Python 将可变大小的数组写入文件,python,hdf5,Python,Hdf5,我正在开发一个python程序,它需要向文件中写入一些“时间步长-数量”形式的数据。数据的大小在运行时确定。现在我这样做(示意图):
f=open('data.txt','w')
虽然不是条件:
时间步长+=1
q=计算_q()
f、 写入({0:d}{1:3e})。格式(时间步长,q))
我的问题:这样做可以吗?或者我应该以某种方式缓冲数据,然后将缓冲区转储到文件中?如果我切换到二进制格式,如hdf5,该怎么办?谢谢。这取决于您的需要。如果您关心吞吐量,那么应该缓冲写入。使用的bufferi
我正在开发一个python
程序,它需要向文件中写入一些“时间步长-数量”形式的数据。数据的大小在运行时确定。现在我这样做(示意图):
f=open('data.txt','w')
虽然不是条件:
时间步长+=1
q=计算_q()
f、 写入({0:d}{1:3e})。格式(时间步长,q))
我的问题:这样做可以吗?或者我应该以某种方式缓冲数据,然后将缓冲区转储到文件中?如果我切换到二进制格式,如hdf5
,该怎么办?谢谢。这取决于您的需要。如果您关心吞吐量,那么应该缓冲写入。使用的buffering
参数。您看过pickle/cPickle
了吗,它们往往会涵盖大多数写入问题,但这取决于数据类型。将其视为伪代码:为什么不可以?您似乎关心性能,但这只会在数据量巨大和/或程序运行非常频繁时困扰您。缓冲通常是不必要的-操作系统很可能会充分处理它。最后,从文本文件格式切换到二进制文件格式也应该只在真正需要的情况下进行。您的示例很好--文件I/O使用标准文件对象自动缓冲。谢谢大家,这就是我想让它了解的-缓冲是否自动完成,因为,很明显,我不想对磁盘进行频繁的小规模写入。谢谢!我不知道这个参数。
- C++11 指向容器的智能指针
c++11
- C++11 尾随返回类型声明,旧样式定义
c++11
- C++11 不推荐使用的C+的汇编列表+;C++;11标准
你知道在哪里可以找到C++ 11标准中的C++不完整的特征列表吗?
c++11
- C++11 在C+中实现FENV是否需要扩展std::U浮点的所有类型+;11标准?
c++11floating-point
- C++11 初始化std::vector时出现分段错误<;双倍>;
c++11
- C++11 C++;11标准::函数常量重载模糊
c++11
- C++11 应该是C++;11移动和复制赋值运算符返回常量?
c++11
- C++11 原子是否保证int、float等类型的初始化为0/0.0?
c++11
- C++11 临时引用的统一初始化
c++11gcc
- C++11 为什么不制作唯一的ptr,只接受临时的?
c++11
- C++11 std::wstring\u转换内存泄漏
c++11memory-leaksvisual-studio-2015
- C++11 正在用C+建模网络+;使用共享指针是一种明智的设计吗?
我目前正在扩展我的C++知识。为此,我编写了一个模板网络。(实际操作是,如果有人感兴趣。)
c++11
- C++11 如何删除我的共享指针指向的内容?
c++11
- C++11 glib-2.0中的内存切片错误
c++11gtk
- C++11 移动容器的迭代器?
c++11
- C++11 如何同时接受右值和左值非常量参数类型
c++11
- C++11 C+中的静态专用模板成员+;17-为什么GCC和MSVC之间存在差异?
c++11templates
- C++11 int*到int转换时出错,没有整数,只有两个指针
c++11pointers
- C++11 什么是分割错误。如何处理
c++11object
- C++11 访问二维数组(整数和字符数组)
请考虑以下代码:
char arr[3][10]={"white","red","blue"};
cout<<arr[2]; //output 1
int brr[3][3]={1,2,3,4,5,6,7,8,9};
cout<<brr[2]; //output 2
cout<<*brr[2];
chararr[3][10]={“白色”、“红色”、“蓝色”}
c++11