file.readlines用法举例
时间: 2023-08-31 10:06:23 浏览: 91
假设有一个名为 `example.txt` 的文本文件,包含以下内容:
```
Hello,
How are you?
I am fine, thank you.
```
我们可以使用 `readlines()` 方法读取该文件中的所有行,并将它们存储在一个列表中,如下所示:
```python
with open('example.txt', 'r') as f:
lines = f.readlines()
print(lines)
```
输出结果为:
```
['Hello,\n', 'How are you?\n', 'I am fine, thank you.\n']
```
如上所示,返回的列表中每个元素都是文件中的一行,包括行末的换行符`\n`。因此,如果不想包含换行符,可以使用 `rstrip()` 方法去除每个元素的末尾换行符:
```python
with open('example.txt', 'r') as f:
lines = [line.rstrip() for line in f.readlines()]
print(lines)
```
输出结果为:
```
['Hello,', 'How are you?', 'I am fine, thank you.']
```
相关问题
举例说明一个由很多行组成的文件用这三个方式读取的区别readline.() readlines.(), .read()
在Python中,当我们处理大量行的文件时,三种方式 `readline()`, `readlines()`, 和 `.read()` 有不同的用途和性能特点:
1. `readline()`:这是一个迭代函数,每次读取一行直到文件结束。例如:
```python
with open('file.txt', 'r') as f:
while True:
line = f.readline()
if not line:
break # 文件结束标志
print(line)
```
使用这种方法逐行处理文件,适合处理大文件并减少内存消耗,因为它不需要一次性加载所有行到内存中。
2. `readlines()`:这个方法直接将文件的所有行作为一个列表返回,一次性读取所有行到内存中。例如:
```python
lines = open('file.txt', 'r').readlines()
for line in lines:
print(line)
```
这种方式一次性获取所有数据,适用于数据量适中且需要一次性访问所有行的情况,但如果文件过大可能会导致内存不足。
3. `.read()`:这个方法会读取整个文件作为单个字符串返回。例如:
```python
content = open('file.txt', 'r').read()
lines = content.split('\n')
for line in lines:
print(line)
```
如果你知道文件很小,或者需要一次性获取整个文件的内容,`read()` 是合适的。但如果文件非常大,这种方式可能导致内存溢出。
总结来说:
- `readline()` 更节省内存,适合大数据流;
- `readlines()` 一次加载所有行到内存,适合较小或已知大小的文件;
- `.read()` 对于小文件快速读取整个内容,但不适合大文件。
魔法函数len的用法举例
魔法函数 `len()` 用于返回对象的长度或元素个数。下面是一些常见的使用示例:
1. 获取字符串长度
```python
string = "Hello World"
print(len(string)) # 输出 11
```
2. 获取列表、元组或集合中元素的个数
```python
my_list = [1, 2, 3, 4, 5]
my_tuple = (1, 2, 3)
my_set = {1, 2, 3, 4}
print(len(my_list)) # 输出 5
print(len(my_tuple)) # 输出 3
print(len(my_set)) # 输出 4
```
3. 获取字典中键值对的个数
```python
my_dict = {"a": 1, "b": 2, "c": 3}
print(len(my_dict)) # 输出 3
```
4. 获取文件中行数
```python
with open("file.txt", "r") as f:
print(len(f.readlines())) # 输出文件中的行数
```
5. 获取自定义类的长度
可以在自定义类中实现 `__len__()` 方法,以便在使用 `len()` 函数时返回自定义类的长度。
```python
class MyClass:
def __init__(self, my_list):
self.my_list = my_list
def __len__(self):
return len(self.my_list)
my_class = MyClass([1, 2, 3, 4, 5])
print(len(my_class)) # 输出 5
```
阅读全文