2009-10-04 41 views
0

大家好我現在是新來的python,我試圖編寫一個程序,用戶可以輸入消息,輸出將顯示消息的數字代碼,但在同時我需要將數字代碼寫入其他文件。如何空間寫入文件

因此,例如,用戶輸入詞「你好」 用戶將看到的輸出「72 101 108 108 111」

現在輸出也應該被複制到標記爲我的「EncryptedMessage外部文檔。 txt「

數字被寫入文件夾,但它們之間沒有空間,所以當我把它放入解碼器時,它不會解碼,有沒有辦法讓我在它們之間獲得空間?

我編碼的例子。

def main(): 

    outfile = open("EncryptedMessage.txt", "w") 
    messgage = " " 

    message = raw_input("Enter a message: ") 
    for ch in message: 
     ascii = ord(ch) 

     outfile.write(str(ascii)) 

     print ascii, 


    outfile.close() 

對不起,我對編程術語不太擅長。

回答

2

只是手動添加一個空格:

outfile.write(str(ascii) + " ") 
0

記住,cobbal的回答將增加一個額外的空間,以文件的末尾。您可以通過剝離其關閉:

s.rstrip(str(ascii)) 
+0

謝謝cobbal和Phillip的答案。 我覺得它必須是簡單的東西,我錯過了! – Ray 2009-10-04 22:15:24

5

你可以做到這一點,而無需使用Python列表理解環路和連接方法添加的ASCII值之間的空間。

" ".join([str(ord(c)) for c in message]) 

這將評估爲由空格分隔的ascii值的字符串。

+0

這可能是更好的方法。只是一個註釋,方括號是不必要的,因爲連接將接受迭代器 – cobbal 2009-10-04 22:16:49

+0

@cobbal好點 – tarn 2009-10-04 22:22:13