将文件内容复制到另一个不带标题的文件中:
with open("words.txt") as infile, open("words-nohead.txt", "w") as outfile:
for i,line in enumerate(infile):
if i: outfile.write(line)
然后洗牌无头文件。然后将第一个文件的第一行和无头文件复制到无序的单词中。txt(我想你可以用
sh.cat()
并删除临时文件。
实际上,这并不需要Python。仅Bash就足够了:
head -n 1 words.txt > shuffled_words.txt
tail -n+2 words.txt | shuf >> shuffled_words.txt
记住
shuf
无论如何,还是要在内存中读取整个文件。你必须有足够的内存来存储这个文件。