使用 readlines() 读取多个打开的文件会导致空数组
Reading multiple opened files using readlines() results in empty array
我有 2 个文件要操作。其中一个文件 (in.txt
) 以读取模式打开,'r'
,另一个 (out.txt
) 以追加模式打开,应该也可以读取,'a+'
.
举个例子,假设 in.txt
文件的内容是:
Foo
而out.txt
文件的内容是:
Bar
如果我 运行 将此脚本放在文件存储的同一文件夹中,(请不要注意变量名,这只是为了简化示例...我希望):
with open('in.txt', 'r') as i, open('out.txt', 'a+') as o:
in_data = i.readlines()
out_data = o.readlines()
print(in_data)
print(out_data)
这是输出:
['Foo\n']
[]
output file
的内容不会被读入数组
我应该如何继续才能按预期使用这两个文件?与打开操作的文件指针有关吗?
这与打开多个文件无关。
当您以追加模式打开文件时,您最初位于文件末尾,因此没有可读取的内容。内容需要查找到开头。
with open('in.txt', 'r') as i, open('out.txt', 'a+') as o:
in_data = i.readlines()
o.seek(0)
out_data = o.readlines()
print(in_data)
print(out_data)
我有 2 个文件要操作。其中一个文件 (in.txt
) 以读取模式打开,'r'
,另一个 (out.txt
) 以追加模式打开,应该也可以读取,'a+'
.
举个例子,假设 in.txt
文件的内容是:
Foo
而out.txt
文件的内容是:
Bar
如果我 运行 将此脚本放在文件存储的同一文件夹中,(请不要注意变量名,这只是为了简化示例...我希望):
with open('in.txt', 'r') as i, open('out.txt', 'a+') as o:
in_data = i.readlines()
out_data = o.readlines()
print(in_data)
print(out_data)
这是输出:
['Foo\n']
[]
output file
的内容不会被读入数组
我应该如何继续才能按预期使用这两个文件?与打开操作的文件指针有关吗?
这与打开多个文件无关。
当您以追加模式打开文件时,您最初位于文件末尾,因此没有可读取的内容。内容需要查找到开头。
with open('in.txt', 'r') as i, open('out.txt', 'a+') as o:
in_data = i.readlines()
o.seek(0)
out_data = o.readlines()
print(in_data)
print(out_data)