我不知道infile > outfile是什么意思,我该怎么用它?

0 投票
3 回答
6099 浏览
提问于 2025-04-17 00:26

我不知道怎么用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)

这个脚本应该是用来改变文档的格式的。如果有人能理解我这个傻问题,我会非常感激你们的帮助!

3 个回答

0

假设你有一个名为 input.doc 的文档。如果你运行 hun2html.py input.doc,它会把结果显示在终端上。

不过,因为你想把结果保存到另一个文件里,所以你需要重定向输出到一个文件。这时候 > outfile 就派上用场了。如果你想把结果保存为 output.html,你需要这样做:

hun2html.py input.doc > output.html

希望这对你有帮助。

0

你把输入文件作为第一个参数,然后把标准输出重定向到你想写结果的文件里。比如:

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

这里的 > 符号告诉程序,所有打印到标准输出的内容都会写入一个文件,而不是显示在控制台上。还有 < 符号,它是用来从文件读取内容到标准输入的。

1

这段话的意思是,你需要在infile的位置写上你想用作输入的文件路径,而在outfile的位置写上你想保存输出的文件路径。比如说,

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

注意,输入文件是作为一个参数传递的(在代码中通过sys.argv[1]来访问),而输出是通过管道传输的,这意味着Python会把输出打印到标准输出上。但是因为你加了>这个符号,所以输出会被重定向到你指定的文件里。如果你不加> outfile,那么你会在终端上看到输出结果。

撰写回答