【发布时间】:2019-10-18 20:49:45
【问题描述】:
我正在尝试从我拥有的编码书中运行以下代码,但出现此错误:
Traceback(最近一次调用最后一次): 文件“ex20.py”,第 3 行,在 脚本,输入文件 = argv ValueError: 需要超过 1 个值才能解压
我创建了一个名为 input_file 的 txt 文件并尝试了其他故障排除方法,但我仍然遇到错误。
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_line = open(input_file)
print "First let's print the whole file:\n"
print_all(current_file)
print("Now lets rewind, kind of like a tape")
current_line = 1
print_a_line(current_line, current_line)
current_line = current_line + 1
print_a_line(current_line, current_file)
我希望它能按编码打印和工作。
【问题讨论】:
-
input_file是否作为命令行参数提供?请检查。 -
你是如何运行脚本的?你向它传递了什么论据?
-
你为什么要把脚本和input_file设置成你刚导入的包? - 我的意思是 argv 返回一个列表,您需要定义您设置的内容... script, input_file = argv[0], argv[1]
-
我假设脚本是它自己的代码,而 input_file 是一个文本文件,位于具有 code/.py 脚本的同一文件中。我正在通过终端运行它,也就是“python ex20.py”,我正在设置它,因为这就是这本书告诉我要做的。
-
bash-4.3$ python ex20.py input_file.txt 首先让我们打印整个文件: Traceback(最近一次调用最后一次):文件“ex20.py”,第 18 行,在
print_all( current_file) NameError: name 'current_file' is not defined 我使用的是 python 2,这是我在尝试提供两个参数时遇到的错误。
标签: python