用read函数读取两次,就变成了空字符串。
问题:用read()函数读取文件两次,就变成空字符串
代码示例:
#文件 my_file 内存的是 'a b c'
with open ('my_file', 'r') as f:
a = f.read()
b = f.read().split()
print a # a b c
print b # []
原因:python在读取文件的时候是根据光标位置来读取的。读一行以后光标位置到了下一行。再来个read又到了下一行。
解决方法:
一:
with open ('my_file', 'r') as f:
a = f.read()
f.seek(0) # 再次read之前 f.seek(0)
b = f.read().split()
print a # a b c
print b # ['a', 'b', 'c']
二:
with open ('my_file', 'r') as f:
a = f.read()
b = a.split()
print a # a b c
print b # ['a', 'b', 'c']
版权声明:本文为weixin_42130258原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。