2011-08-16 216 views
1

我無法連接兩個字符串。這是我的代碼:麻煩連接兩個字符串

info = infl.readline() 
while True: 
    line = infl.readline() 
    outfl.write(info + line) 
    print info + line 

問題在於輸出出現在兩條不同的線上。例如,輸出文本如下所示:

490250633800 802788.0 953598.2 
802781.968872 953674.839355 193.811523 1 0.126805 -999.000000 -999.000000 -999.000000 

我希望兩個字符串在同一行上。

回答

7

info末尾必須有'\n'字符。你可以將其刪除:

info = infl.readline().rstrip() 
+0

謝謝,非常完美。 –

+0

保存我的時間,謝謝! – Nish

1

您應該刪除換行符在這樣的線和信息變量: line=line.replace("\n","")

1

readline將返回「\ n」在串99.99%結束時間。你可以通過調用rstrip來解決這個問題。

info = infl.readline().rstip() 
while True: 
    #put it both places! 
    line = infl.readline().rstip() 
    outfl.write(info + line) 
    print info + line 

的readline的docs

從文件中讀取一個整條生產線。而結尾的換行符保持在字符串中的(但是當一個文件與一個不完整的行結束可能不存在)...

+1

+1爲99.99%,但是-1表示在錯誤的地方顯示rstrip。 – Neil

+0

@尼爾......奇怪的是。我記得把它添加到兩個... – cwallenpoole