learn python the hard way中习题20\n
运行时在cmd中以下这段代码报错:
print_a_line(current_line,current_file)
NameError: name 'current_line' is not defined_
我用查找前后变量名也是一致的。。不知道未定义是什么情况
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)
以下是完整的代码片段
from sys import argv
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)
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)