2012-05-11 36 views
0

我正在嘗試編寫一個Python程序,它將讀取輸入並將其複製到標準輸出(無需更改)。我被告知它需要作爲Unix版本的貓功能運行。如果無法打開文件,則需要打印錯誤消息,然後程序需要繼續處理任何其他文件。我是一個完整的初學者,並且盡我所能用我有限的知識去挖掘一些東西。以下是我迄今爲止:讀取文件並複製到標準輸出。

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 =',那麼它應該工作。你有什麼問題? – ch3ka

+0

啊,當然,謝謝!最後得到它的工作(或至少,做一些事情,而不是崩潰的錯誤)。謝謝! –

回答

2

此功能將通過行指定的文件複製到控制檯線(如果你以後決定給它使用貓的-n命令行選項的能力)

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

它可以被稱爲一旦建立文件就存在文件名。

相關問題