簡體   English   中英

Python重定向/將輸出寫入文件?

[英]Python redirect/write output to file?

我想寫輸出,將輸出寫到一個文件中,但是即使是帶有同義詞的單詞,我得到的也只是“無”。

注意:當我不在文件中寫入時,輸出效果會很好。另一個注意:無論我是否正在寫入文件,輸出都會顯示在屏幕上,但是我在文件中看到“ None”,是否有需要解決的問題它。 [即時通訊使用python V2.7 Mac版本]

file=open("INPUT.txt","w") #opening a file
for xxx in Diacritics:
    print xxx
    synsets = wn.get_synsetids_from_word(xxx) or []
    for s in synsets:
          file.write(str(wn._items[s].describe()))

我試圖簡化問題並重寫您的代碼,以便它是一項獨立的測試,您應該能夠運行該測試,並最終進行修改(如果這是代碼的問題)。

test = "Is this a real life? Is this fantasy? Caught in a test slide..."
with open('test.txt', 'w') as f:
    for word in test.split():
        f.write(word) # test.txt output: Isthisareallife?Isthisfantasy?Caughtinatestslide...

一個側面說明它幾乎聽起來像是要追加,而不是截斷,但我不知道,所以來看看這個

最常用的mode值是'r'表示讀取,'w'表示寫入(如果文件已經存在,則將其截斷),以及'a'表示追加(在某些Unix系統上,這意味着所有寫入均會追加到末尾)不論當前搜索位置如何)。 如果省略mode,則默認為'r'。 默認設置為使用文本模式,該模式可以在書寫時將'\\ n'字符轉換為特定於平台的表示形式,並在讀取時將其轉換為特定的表示形式。 因此,打開二進制文件時,應在模式值后附加“ b”以二進制模式打開文件,這將提高可移植性。 (即使在對二進制文件和文本文件沒有不同對待的系統上,追加'b'還是有用的,它作為文檔。)請參見下面的mode的更多可能值。

file.write()將要寫入describe()命令返回的任何內容。 因為正在編寫'None',並且因為輸出總是進入屏幕,所以問題在於describe是直接寫到屏幕(可能是print )並返回None

除了describe之外,您還需要使用其他方法,或者提供正確的參數來描述,以使其返回字符串而不是打印字符串,或者提交錯誤報告。 (我對該程序包不熟悉,所以我不知道哪種方法是正確的。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM