【问题标题】:I don't even know what infile > outfile means. How am I supposed to use it?我什至不知道 infile > outfile 是什么意思。我应该如何使用它?
【发布时间】:2011-08-27 07:37:13
【问题描述】:

我不知道如何使用 Python,我正在尝试在文档上使用脚本。我不知道如何告诉它这样做!

如果我只是运行脚本,我会收到以下消息:

Use: C:\Python27\hun2html.py infile > outfile

Traceback (most recent call last):
  File "C:\Python27\hun2html.py", line 75, in <module>
    sys.exit(1)
SystemExit: 1

我不确定哪些信息与了解这些内容的人相关,但我相信这是代码中最相关的部分:

if __name__ == '__main__':
    import sys
    if not sys.argv[1:]:
        print "Use: %s infile > outfile" % sys.argv[0]
        sys.exit(1)
    contents = open(sys.argv[1]).read()
    print hun2html(contents)

它应该更改文档中的格式。如果有人能理解这个愚蠢的问题,我将非常感谢您的帮助!

【问题讨论】:

    标签: python shell command-line file-io


    【解决方案1】:

    这意味着您应该将要用于输入的文件的路径写入 infile 所在的位置,以及将输出存储在 outfile 所在的位置的文件的路径。例如,

    C:\Python27\hun2html.py C:\input.txt > C:\output.txt
    

    请注意,输入文件作为参数传递(在代码中由 sys.argv[1] 访问)并且输出正在通过管道传输,这意味着 Python 将其打印到标准输出,但是因为您放置了 &gt; 字符它将被重定向到您指定的文件。如果您离开 &gt; outfile,您会看到终端上显示的输出。

    【讨论】:

      【解决方案2】:

      您将输入文件作为第一个参数提供给它,并将标准输出重定向到您要写入结果的文件。例如:

      C:\Python27\hun2html.py myfile.hun >myfile.html
      

      &gt; 符号告诉它,打印到标准输出的任何内容都将写入文件,而不是控制台。还有&lt; 会将文件读入标准输入。

      【讨论】:

      • 如果shell(在你的情况下,显然是cmd.exe)而不是Python,重定向是一个功能。但是,错误消息来自 Python,与重定向无关。显然你试图在没有参数的情况下调用脚本;您可以指定要处理其内容而不是“infile”的文件的名称,以及您想要结果而不是“outfile”的新文件的名称。
      • 谢谢。我没想到会有这么大的帮助。
      【解决方案3】:

      假设您有一个名为input.doc 的文档。如果您运行hun2html.py input.doc,它将显示该终端的输出。

      但是,由于您希望将输出保存在另一个文件中,您必须将输出重定向到一个文件。这就是&gt; outfile 发挥作用的地方。如果你想将输出保存在output.html,你必须这样做:

      hun2html.py input.doc > output.html
      

      希望对你有帮助。

      【讨论】:

        猜你喜欢
        • 2012-08-23
        • 1970-01-01
        • 1970-01-01
        • 2023-02-26
        • 1970-01-01
        • 1970-01-01
        • 2018-05-12
        • 1970-01-01
        相关资源
        最近更新 更多