Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 读取文件并复制到标准输出。_Python_Input_Copy - Fatal编程技术网

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

Python 读取文件并复制到标准输出。,python,input,copy,Python,Input,Copy,我正在尝试编写一个python程序,它将读取输入并将其复制到标准输出(无需修改)。有人告诉我,它需要作为Unix cat函数的Python版本运行。如果无法打开文件,则需要打印错误消息,然后程序需要继续处理任何其他文件。我是一个完全的初学者,用我有限的知识尽力拼凑一些东西。以下是我到目前为止的情况: from sys import argv, stdout, stdin, stderr if len(argv) == 1: try: stdout.write(raw_

我正在尝试编写一个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)

我不太确定从这里到哪里去。。有没有人有什么建议/我的思路是否正确,哪怕是一点点?请,谢谢

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


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

看起来没问题,除了
filehandle+
应该是
filehandle=
,然后它就可以工作了。你有什么问题?啊,当然,谢谢!终于让它工作了(或者至少,做了些什么,没有因为错误而崩溃)。谢谢
def catfile(fn):
  with open(fn) as f:
    for line in f:
      print line,