いくつかのポインタ...
from sys import argv
script, filename, = argv
ここでは、argv をインポートしてコマンド ライン パラメーターにアクセスし、2 つの引数 (スクリプト (arg 0) と出力するファイル名 (arg1)) が含まれていることを期待しています。末尾のコンマは構文的に間違っているわけではありませんが、必須ではなく、少し奇妙に見えます。argv
通常、現在の名前空間にプルするのではなく、内部に残しsys
ますが、それは好みの問題です。実際の違いはありません。私はおそらく少しのエラー処理も投げ込むでしょう:
import sys
try:
script, filename = sys.argv
except ValueError as e:
raise SystemExit('must supply single filename as argument')
txt = (filename)
print " Here's your file %r :" % filename
print txt.read()
ここでtxt = (name)
行っているのは、txt に filename の値を持たせることだけです。txt
ファイルオブジェクトを作成して、そこからできるようにしたいと思います.read()
:
txt = open(filename)
print "Here's the file contents of:", filename
print txt.read()
print " I'll also ask you to type it again: "
file_again = raw_input ("> ")
txt_again = open (file_again)
print txt.again.read ()
open()
ここには がありますが、それ以外の場合は が得られるtxt.again.read()
はずです。それを変更するだけで問題ありません。txt_again.read()
AttributeError
別の方法として、シークをサポートするファイル オブジェクトを使用して、ファイルだけを取得することもできrewind
ます (ファイルを最後まで読んだので、もう何も読む必要はありません)。
txt.seek(0)
print txt.read()