打开,随机化,在Python 2.7.6.1中编写行列表

时间:2015-08-24 02:09:58

标签: python random

我想要一个大的词汇单词列表(每个单词+定义是一行),随机化列表,然后在142个项目块中写入一个文件而不重复任何单词。

我觉得我已经大致接近了,但写回来给我带来了麻烦。这就是我所拥有的:

import random
zz = 0
with open('vocablist.text') as f:
    lines = f.readlines()
    lines = [line.rstrip('\n') for line in open('vocablist.txt')]
random.shuffle(lines)
vocab_out = open('vocab_out.txt.', 'w')
for x in lines:
    zz = zz +1
    if zz > 142:
        vocab_out.write('END OF SECTION'+\n)
        zz = 0
    vocab_out.write(x)
vocab_out.close()

我必须为我接手的课程重新制作这些词汇表,并且手工完成它会花费我几天的时间。

1 个答案:

答案 0 :(得分:1)

这样的事情应该这样做:

import random

with\
  open('vocablist.text') as input,\
  open('vocab_out.txt', 'w') as output:
    lines = [line.rstrip('\n') for line in input.readlines()]
    random.shuffle(lines)
    zz = 0
    for x in lines:
      zz += 1
      if zz > 142:
          output.write('END OF SECTION' + '\n')
          zz = 0
      output.write(x + '\n')

变化:

  1. for line in openfor line in input.readlines()
  2. with这两个文件都可以一起打开和关闭。
  3. \n中的+\n需要引用为字符串
  4. + '\n'
  5. 中添加了output.write