Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.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_File Io - Fatal编程技术网

如何知道批写python需要多少行

如何知道批写python需要多少行,python,file-io,Python,File Io,我正在读取一个带字符串的文件,然后根据它输出一个文件,并进行一些修改。读一行、修改并立即输出是更快,还是读几行、修改并立即写入更好。如果以批处理的方式编写它们更快,那么如何优化批处理的大小以使其最快,因为我认为存储一个字符串或数百万行可能会不必要地降低速度 只要一个接一个地去做,你的代码就会更清晰,更容易推理。默认情况下,对文件的所有IO都会进行缓冲,这意味着只有在底层缓冲区已满时才会刷新实际写入操作编写一些代码来测试它 正如我在对上一个问题的评论中所说,您的操作系统将进行缓冲和缓存,因此并非每

我正在读取一个带字符串的文件,然后根据它输出一个文件,并进行一些修改。读一行、修改并立即输出是更快,还是读几行、修改并立即写入更好。如果以批处理的方式编写它们更快,那么如何优化批处理的大小以使其最快,因为我认为存储一个字符串或数百万行可能会不必要地降低速度

只要一个接一个地去做,你的代码就会更清晰,更容易推理。默认情况下,对文件的所有IO都会进行缓冲,这意味着只有在底层缓冲区已满时才会刷新实际写入操作

编写一些代码来测试它

正如我在对上一个问题的评论中所说,您的操作系统将进行缓冲和缓存,因此并非每次读或写调用都会导致磁盘访问。但是,系统调用比列表操作慢,因此使用大小合理的数据块(例如64kB)时,您将获得更好的速度。更大的数据块(高达1MB)可能会稍快一些,具体取决于设备(例如传统的磁性HD与SSD),但IME 64kB通常就足够了


但在对现有代码进行重大重组之前,一定要做一些测试。在尝试提高I/O速度之前,确定I/O实际上是程序的瓶颈。正如Knuth所说,过早优化是万恶之源。

为什么不尝试不同的方法,自己看看呢?将有助于重提话题:过于宽泛。答案可能太过理论化和摇摆,没有任何用处。你必须像第一位评论者所说的那样,自己对它进行分析——这里有很多场景。