2013-07-30 204 views
1

我寫了下面的python代碼。什麼,我希望它做的是從文件的「噪聲」添加一個隨機單詞的「原始」的每一行,並將其打印到文件「數據集」rstrip()不按預期方式工作

#! /usr/bin/python 

from random import randint 

raw = open("raw_dataset_1", "r") 
noise = open("random", "r") 
dataset = open("raw_noisy", "w") 

lines = noise.readlines() 

for line in raw: 
    a = randint(1, 5449) 
    addNoise = lines[a-1] 
    #print a 
    #print addNoise 
    noisy = (line + addNoise) 
    noisy1= noisy.rstrip() 
    #print noisy1 
    dataset.write(noisy1) 

我的預期「數據集」文件是:

city mountain sky sun chalk 
bay lake sun tree discussions 
beach sea sky sun background 

,但我發現:

city mountain sky sun 
chalk 
bay lake sun tree 
discussions 
beach sea sky sun 
background 

可有人請指出我的錯誤?

+2

輸入文件的內容是什麼? –

+0

「raw」文件的每一行都包含一組單詞。每行「噪音」包含一個單詞 – nish

回答

3

在讀取使用的每一行:

for line in raw: 

line在末端包含的換行符。你需要刪除它。

嘗試使用:

noisy = line.rstrip() + " " + addNoise 
+0

感謝rohit。這個作品 – nish

5

我想你想要做的noisy = (line.rstrip("\n") + " " + addNoise)

我測試,它爲我工作。

+0

這個作品。謝謝 – nish