IOError:文件未打开以供阅读

时间:2012-09-22 18:03:11

标签: python

我是编程新手,我正试图通过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:文件未打开以供阅读。”我真的很困惑,也不确定“不公开”是什么意思。以下是回溯消息的完整帐户:

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文件。

0 个答案:

没有答案