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: ファイルが読み取り用に開かれていません」というメッセージが返されました。私は本当に混乱していて、「開いていない」という意味がよくわかりません。トレースバック メッセージの完全な説明は次のとおりです。

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