使用两个线程,打开两个行数相等文本文件,按行交替将两个文件输出
时间: 2024-03-02 14:53:59 浏览: 53
好的,我来给你一个示例代码,你可以参考一下:
```python
import threading
def read_file(file_name, output_list):
with open(file_name, 'r') as f:
for line in f:
output_list.append(line)
def write_file(output_list):
with open('output.txt', 'w') as f:
for line in output_list:
f.write(line)
if __name__ == '__main__':
file1 = 'file1.txt'
file2 = 'file2.txt'
output_list = []
# 创建两个线程,分别读取两个文件
thread1 = threading.Thread(target=read_file, args=(file1, output_list))
thread2 = threading.Thread(target=read_file, args=(file2, output_list))
# 启动线程
thread1.start()
thread2.start()
# 等待两个线程结束
thread1.join()
thread2.join()
# 将读取的内容按行交替输出到文件
write_file(output_list)
```
这个代码中,我们使用了两个线程分别读取两个文件的内容,并将结果保存到一个共享的列表中。然后,我们再使用一个线程将列表中的内容按行交替输出到文件。注意,线程之间需要使用锁来保护共享的数据结构,这里我们使用了一个简单的列表来保存读取的内容,因此不需要额外的锁。
阅读全文