我有一个文件,其中包含所有不同行的单词列表,例如:
cat
dog
horse
pig
sheep
mouse
我想在python中写一些东西,将3个单词连接在一起,用空格分隔,然后继续浏览文件,样本输出如下:
cat dog horse
pig sheep mouse
这可能吗?如果有人能帮助我,我真的很感激。
答案 0 :(得分:1)
非常简单! itertools.izip_longest:
from itertools import izip_longest
content = open("/tmp/words").read()
step = 3
# get line content and skip blank lines
words = [line for line in content.split("\n") if line ]
for group in izip_longest(*[iter(words)] * step, fillvalue=""):
print " ".join(group) # join by spaces
答案 1 :(得分:0)
首先打开文件并在
中阅读 file_contents = open("some_file.txt").read().split()
然后打开一个文件写入
with open("file_out.txt","w") as f:
然后你做魔术
f.write("\n".join(" ".join(row) for row in zip(*[iter(file_contents)]*3)))
答案 2 :(得分:-2)
f=open('your_file','r')
f=f.readlines()
for x in [ " ".join(b[x-3:x]).replace('\n','') for x in range(1,len(b)) if x%3==0 ]
print x
if len(f)%3 > 0:
print " ".join(b[-(len(b)%3):]).replace('\n','')
示例:
a=['cat','dog','bat','hello','baby','stack','overflow','python','code','search','string']
output will be:
'cat dog bat'
'hello baby stack'
'overflow python code'
'search string'
,
打开文件,使用readlines()
读取文件,然后检查三个中的多个,最后检查mod for,最后一个元素,当它不是三个的倍数时