2017-07-26 62 views
-1

我是新來的python,並在編碼新手。我還沒有找到這個問題的具體答案,但我相信這很簡單。python .write(raw_input('>'))的作品,但下一個命令行說「無」

我可以在'r +'模式下打開一個文件,並根據原始輸入寫入一個字符串。它可以很好地工作,並將其寫入文件的原始輸入,但是命令行中的下一行會自動返回單詞「無」。

這裏是我的代碼

打印txt.read()

打印 「請輸入一些文本添加到文件:」

打印txt.write(的raw_input('> 「))

打印 「謝謝」

這裏是換貨政... RN

請輸入一些文本添加到文件:

下面是從上午11:26

由於一些文字

我怎樣才能擺脫這個「無」輸出,是什麼造成的?我一直在尋找回歸論點,但我無法弄清楚該怎麼做。

此外,我怎樣才能得到原始輸入字符串在我正在寫的文檔的新行?

謝謝!

+0

謝謝大家幫忙教育這個n00b。我保證當我成爲一個更高級的程序員時會回來。在此之前,我會在此資源中搜索以前回答的問題,並再次詢問我無法找到的任何內容。歡呼聲 – Hanzy

回答

0

當你做txt.write(raw_input(">"))時,你的代碼將輸入寫入文件,正確。但是,該功能並不需要return - 它不需要。它是這些功能中的一個,它可以獨立完成某些功能。

要擺脫它,只是不要打印它!

+0

謝謝!那麼我可以只寫txt.write(raw_input('>')),那就足夠了? – Hanzy

+0

@Hanzy正確! – TerryA

+0

非常感謝!只是爲了展開,我怎麼能得到原始輸入字符串在我正在寫的文件的新行? – Hanzy

0

print txt.write(raw_input('> '))刪除print。它打印None的原因是因爲內置的file.write()不返回任何內容,它只是寫入文件。如果你想看到由用戶輸入的輸入,這樣做:

text=raw_input('Enter some text to add to the file > ') 
print text 
txt.write(text) 
print 'Thanks' 
1

簡短的回答 - 從第3行中刪除print

您的txt.write(raw_input('>'))寫入文件並且不返回任何由None表示的內容。

如果你編寫自己的功能,無需回報同樣會發生:

def test(): 
    print 'None appears below me' 

print test() 
#None appears below me 
#None 

在這種情況下,你只需要調用它,它會打印:

test() 
#None appears below me 

同去的write()方法。

對於換行符使用txt.write(raw_input('>') + '\n')

0

蟒蛇2.7師妹

幫助(f.write) 幫助的內置函數寫:

寫(...) 寫(STR) - >無。將字符串str寫入文件。

Note that due to buffering, flush() or close() may be needed before 
the file on disk reflects the data written. 

python3.5

幫助(f.write) 幫助的內置函數寫:

寫(文字,/)_io.TextIOWrapper例如 寫入字符串的方法流。 返回寫入的字符數(總是等於 字符串的長度)。

相關問題