我写了以下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
有人可以指出我的错误吗?
答案 0 :(得分:5)
我认为你想做noisy = (line.rstrip("\n") + " " + addNoise)
我测试了它,它对我有用。
答案 1 :(得分:3)
使用以下方式阅读每一行:
for line in raw:
line
最后包含换行符。你需要删除它。
尝试使用:
noisy = line.rstrip() + " " + addNoise