rstrip()没有按预期工作

时间:2013-07-30 19:39:57

标签: python

我写了以下python代码。我期待它做的是将文件“noise”中的随机单词添加到“raw”的每一行,并将其打印到文件“dataset”

#! /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 :(得分:5)

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

我测试了它,它对我有用。

答案 1 :(得分:3)

使用以下方式阅读每一行:

for line in raw:

line最后包含换行符。你需要删除它。

尝试使用:

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