用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']