from sys import argv
# import sys 与from sys import argv的作用与区别(https://blog.youkuaiyun.com/weixin_41321234/article/details/79099233)
script,input_file = argv
def print_all(f):
print(f.read())# 读取文件
def rewind(f):
f.seek(0)# 从文件开头开始读
def print_a_line(line_count,f):
print(line_count,f.readline())
current_file = open(input_file)
print("First let's print the whole file:\n")
print_all(current_file)# 直接调用current_file函数
print("Now let's rewind,kind of like a tape.")
rewind(current_file)
print("Let's print three lines:")
current_line = 1
print_a_line(current_line,current_file)
current_line = current_line + 1
print_a_line(current_line,current_file)
current_line = current_line + 1
print_a_line(current_line,current_file)
第一次运行结果
现实解码错误,把在网上能搜到的解决办法都试了一遍,结果要么还是现实解码错误,要么就是乱码;之后一个python群的老师建议我在文本中修改编码格式,我打开文本文件发现,windows10系统默认的编码格式是UTF-16LE,改成UTF-8后再次运行,终于运行成功。
修改编码后的运行结果
对于seek()的作用,详见http://c.biancheng.net/view/4780.html