1

我是编程新手,我正在尝试通过http://learnpythonthehardway.org/自学 Python 。

在练习 20 中,我们被告知要编写如下脚本:

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)

但是,当我通过终端运行它时,它返回“IOError: File not open for reading”。我真的很困惑,不确定“不开放”是什么意思。以下是回溯消息的完整说明:

Traceback (most recent call last):
  File "ex20.py", line 18, in <module>
    print_all(current_file)
  File "ex20.py", line 6, in print_all
    print f.read()
IOError: File not open for reading

我检查了该文件是否存在。有人可以帮忙吗?非常感谢!

更新:

我通过创建一个单独的文件夹解决了这个问题,从而将新的 .py 和 .txt 文件自己隔离到一个新文件夹中。我想知道以前的 .py 文件是否在其中发挥了作用?我之前也写过一个截断脚本,但它没有意义,因为我只执行了新的 python 文件。

4

0 回答 0