2012-05-11 6 views
0

私は入力を読み、それを標準出力に(変更なしで)コピーするPythonプログラムを書こうとしています。私はそれがUnixのcat関数のPython版として動作する必要があると言われてきました。ファイルを開くことができない場合は、エラーメッセージを出力してから、プログラムは追加ファイルの処理を続行する必要があります。私は完全な初心者であり、私の限られた知識と一緒に何かを掻き集めるために最善を尽くしました。ここで私はこれまで持っているものです。ファイルを読み取り、標準出力にコピーします。

from sys import argv, stdout, stdin, stderr 

if len(argv) == 1: 

    try: 
     stdout.write(raw_input(' ') + '\n') 
    except: 
     stderr.write ('sorry' + '\n') 
     quit() 

else: 

    for filename in argv[1:]: 
     try: 
      filehandle + open(filename) 
     except IOError: 
      stderr.write('Sorry, could not open', filename + '\n') 
      continue 

     f = filehandle.read() 

     stdout.write(f) 

私はどこここから行くと非常によくわからない...誰もが/私は少しでも正しい軌道に乗っています何かアドバイスはありますか?お願いしてありがとう!

+0

'filehandle +'は 'filehandle ='でなければOKですが、うまくいくはずです。あなたの質問は何ですか? – ch3ka

+0

ああ、もちろん、ありがとう!最終的にはそれを働かせた(少なくとも、何かをして、エラーでクラッシュしない)。ありがとう! –

答えて

2

この関数は、それを呼び出すことができます

def catfile(fn): 
    with open(fn) as f: 
    for line in f: 
     print line, 

(場合には、あなたが後でそれを猫の-nコマンドラインオプションを使用する能力を与えることにした)線で、コンソールラインに指定されたファイルをコピーしますファイルが存在すると、そのファイルが存在します。

関連する問題