读取文件并复制到标准输出。

时间:2012-05-11 12:28:09

标签: python input copy

我试图编写一个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)

我不太确定从哪里开始..有没有人有任何建议/我是否在正确的轨道上甚至一点点?拜托,谢谢!

1 个答案:

答案 0 :(得分:2)

此函数将逐行将指定文件复制到控制台(以防您稍后决定使其能够使用cat的-n命令行选项)

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

一旦确定文件存在,就可以使用文件名调用它。