2011-08-27 85 views
0

我不知道如何使用Python,我試圖在文檔上使用腳本。我不知道如何告訴它這樣做!我甚至不知道infile> outfile的含義。我該如何使用它?

如果我只是運行該腳本,這是我的消息得到:

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) 

它應該改變文檔中的格式。如果任何人都可以理解這個愚蠢的問題,我會非常感謝一些幫助!

回答

0

您將輸入文件作爲第一個參數,並將標準輸出重定向到要寫入結果的文件。例如:

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

>符號告訴它,無論得到打印到標準的輸出將會被寫入文件,而不是控制檯。還有<將讀取文件到標準輸入。

+0

重定向是一個功能,如果外殼(在你的情況下,顯然'cmd.exe'),而不是Python。但是,錯誤消息來自Python,與重定向無關。顯然你試圖在沒有參數的情況下調用腳本;您可以指定要處理其內容的文件的名稱而不是「infile」,以及要在結果中替代「outfile」的新文件的名稱。 – tripleee

+0

謝謝。我沒有想到這種樂於助人。 –

1

這意味着你應該寫入你想用於infile所在的輸入文件的路徑,以及你想要將輸出存儲在outfile所在的文件的路徑。例如,

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

注意,輸入文件被作爲參數(以sys.argv[1]代碼訪問)傳遞和輸出管道輸送,這意味着Python的它打印到標準輸出,而是因爲你把>字符將被重定向到您指定的文件。如果您離開> outfile,您會看到終端上顯示的輸出。

+0

謝謝!很有幫助。 –

0

假設您有一個名爲input.doc的文檔。如果您運行hun2html.py input.doc它將顯示輸出到該終端。

但是,既然你想在另一個文件中輸出,你必須重定向輸出到一個文件。這就是> outfile進場的地方。如果你想輸出保存在output.html,你必須這樣做:

hun2html.py input.doc > output.html 

希望它能幫助。

+0

謝謝你,許多財富將是你的 –

相關問題