python 多线程读取txt
时间: 2024-09-04 13:00:19 浏览: 52
在Python中,多线程可以用来同时处理多个任务,例如读取文本文件。当涉及到大量数据的文本文件读取时,单线程可能会阻塞其他操作。使用多线程可以帮助提高效率。以下是一个简单的示例,展示了如何使用`threading`模块创建两个线程分别读取txt文件的一部分:
```python
import threading
import time
# 文件路径
file_path = 'example.txt'
# 定义一个函数来读取文件的一部分
def read_file(thread_num, start_line, end_line):
with open(file_path, 'r') as file:
lines = file.readlines()[start_line:end_line]
print(f"Thread {thread_num}: {lines}")
# 文本行数
total_lines = sum(1 for _ in open(file_path, 'r'))
# 线程步长(每线程处理的行数)
chunk_size = total_lines // 2
threads = []
for i in range(2): # 创建两线程
thread_start = i * chunk_size
thread_end = (i + 1) * chunk_size if i < total_lines - chunk_size else total_lines
thread = threading.Thread(target=read_file, args=(i+1, thread_start, thread_end))
threads.append(thread)
thread.start() # 启动线程
# 等待所有线程完成
for thread in threads:
thread.join()
阅读全文