`

File讀取方式:readlines好還是while迴圈好?

    博客分类:
  • ruby
阅读更多
在Ruby中,File可以用readlines跟跑while迴圈來讀
在這個例子中,程式p1用的是while迴圈,p2用的是readlines
執行後,秒數分別是
P1:
121.468秒
P2:
122.172秒
範例文字檔大小是:
4.07 MB (4,272,336 位元組)

範例程式碼是:

puts "P1 start"
p1_start = Time.now
open("C:/words.txt"){ |f|
while a = f.gets
print a
end
}
p1_end = Time.now
puts "P1 end"
puts "P2 start"
p2_start = Time.now
File.open("C:/words.txt") do |f|
puts f.readlines
end
p2_end = Time.now
puts "P2 end"
puts
puts "P1: ", p1_end - p1_start
puts "P2: ", p2_end - p2_start

由此可見,while快上不到一秒,但是如果在讀取大檔案的時候,用while反而會比較快
相對的,如果不考慮效率,我還是建議使用readlines

不過這只是個人看法,希望其他前輩不吝指教,謝謝!
分享到:
评论

相关推荐

    vb.net 读取txt文件的几种方式

    使用`System.IO.StreamReader`类是最基本的读取文本文件的方式。以下是一个简单的示例: ```vb Dim filePath As String = "C:\path\to\file.txt" Using reader As New StreamReader(filePath) While Not ...

    Python读写文件方法读取各种类型文件

    ### Python读写文件方法读取各种类型文件 #### 一、概述 在Python编程中,对文件的操作是一项基本且重要的技能。无论是简单的文本文件还是复杂的二进制文件,Python都提供了丰富的工具和方法来帮助开发者高效地...

    实例31_文件阅读_读取txt.rar_TXT文件_实例文件阅_读取txt

    这里,`file.read()`方法会读取文件的全部内容,直到遇到文件结束符(EOF)。 如果你的TXT文件非常大,一次性读入内存可能会导致性能问题。这时,你可以使用`readline()`或`readlines()`方法。`readline()`每次只...

    c#读取本地txt文本信息

    `StreamReader`适用于流式读取大文件,而`File`类提供了静态方法,如`ReadAllText`和`ReadLines`,用于一次性读取整个文件或逐行读取。 下面是一个使用`StreamReader`读取TXT文件的简单示例: ```csharp using ...

    文件阅读_读取txt.zip_文件阅读_读取txt_读取txt

    1. **Python**:在Python中,我们可以使用内置的`open()`函数配合`read()`、`readline()`或`readlines()`方法来读取TXT文件。例如: ```python with open('filename.txt', 'r') as file: content = file.read() ...

    读取文件内容

    使用`open()`函数打开文件,指定模式(如'r'代表读取,'w'代表写入),然后调用`read()`、`readline()`或`readlines()`方法读取内容。例如: ```python with open('文件路径', 'r') as f: content = f.read() ``...

    C#实现读取文本文件内容

    另外,`File.ReadLines`方法可以返回一个枚举器,按需逐行读取,无需一次性加载所有行到内存,适合处理大文件: ```csharp foreach (string line in File.ReadLines("path_to_your_file.txt")) { Console....

    读取文件信息.rar

    在IT领域,读取文件信息是一项基础且至关重要的任务,无论是开发应用程序、分析数据还是进行系统维护,都需要频繁地与各种文件打交道。本教程将详细阐述如何在不同的操作系统和编程环境中读取文件信息,以及涉及的...

    C# 从文件读取文本

    对于大文件,可以使用`File.ReadLines`方法,它返回一个枚举器,允许按需读取每一行,这样就不会一次性加载所有内容: ```csharp using System; using System.IO; public class FileReader { public static void ...

    如何创建,读取文本文件

    在计算机编程中,创建和读取文本文件是基础操作,涉及很多不同的编程语言。下面将详细解释这个过程,以Python为例,因为它是广泛使用的、易学的编程语言,且提供了丰富的文件操作功能。 首先,创建一个文本文件通常...

    C#读取文件处理_C#读取文件_globeqpf_读取数据文件_查询某个字符串_源码

    总的来说,C#提供了多种方式来读取文件和查找字符串,根据具体需求选择合适的方法。在处理大量数据或大文件时,要特别注意内存管理和性能优化。在编写代码时,记得始终确保文件操作后关闭文件流,以避免资源泄露。在...

    C#文件的读取与写入操作及其读取数据处理(注释详尽,相对路径,直接运行,测试成功!)

    读取文件通常使用`File.ReadAllText`或`File.ReadLines`方法。`ReadAllText`用于读取整个文件的内容,返回一个字符串;而`ReadLines`则会按行返回一个枚举器,适合处理大型文件。例如: ```csharp string content =...

    仪表数据读取,仪表数据读取时用say还是read,Python源码.rar

    本压缩包文件“仪表数据读取,仪表数据读取时用say还是read,Python源码.rar”似乎包含了一些关于如何使用Python进行仪表数据读取的代码示例。在Python编程中,"say"和"read"这两个词在不同的上下文中有不同的含义,...

    文本文件读取和写入的另一种方法

    var filteredLines = File.ReadLines("input.txt") .Where(l => l.Contains("keyword")); foreach (var line in filteredLines) { Console.WriteLine(line); } ``` 压缩包中的`WindowsApplication1.sln`是Visual ...

    Write_Read_File.zip_file operation_operation

    要读取文件,通常会使用`File.ReadAllText`或`File.ReadLines`方法。例如,如果有一个名为"example.txt"的文本文件,我们可以用以下代码将其内容读入字符串: ```csharp string filePath = "example.txt"; string ...

    文件的读取,计算,写入_文本文件的读取、计算、写入_源码

    无论是数据分析、日志处理还是简单的信息存储,我们都需要频繁地与文本文件打交道。本篇内容将详细介绍如何在不同的编程环境下,高效且准确地执行这些操作。 首先,让我们了解一下文本文件的基本概念。文本文件是以...

    读取cvs文件到dataset

    6. 使用LINQ读取CSV:对于更复杂的解析需求,可以结合`File.ReadLines`和LINQ表达式。 ```csharp using System.IO; using System.Linq; string filePath = "path_to_your_file.csv"; var lines = File.ReadLines...

    文件读取实例

    本例中的"Data"标签可能暗示着我们正在处理的数据文件,而实际应用中,我们可能会遇到各种类型的数据文件,如CSV、JSON、XML等,它们的读取方式各有特点,但基本的文件操作原理是相通的。 总结起来,这个“文件读取...

    ascii读取及雷达数据的转换

    读取ASCII文件在Python中可以使用内置的`open`函数,以文本模式打开文件,并通过`read()`或`readlines()`方法获取内容。例如: ```python with open('data.ascii', 'r') as file: data = file.readlines() ``` 接...

    java 逐行读取文本内容

    总结来说,Java提供了多种方式来逐行读取文本文件,包括基础的`BufferedReader`和`FileReader`,以及第三方库如Apache Commons IO的`FileUtils`。根据不同的需求,可以选择合适的方法来实现文件读取。在处理日志文件...

Global site tag (gtag.js) - Google Analytics