gpt4 book ai didi

python - 将文本文件列表的记录打乱到一个文件中

转载 作者:太空狗 更新时间:2023-10-30 00:52:02 29 4
gpt4 key购买 nike

我有一个文本文件列表 file1.txt, file2.txt, file3.txt .. filen.txt 我需要随机创建一个大文件作为结果 *.

要求:
1.给定文件的记录在被打乱之前需要被反转
2.给定文件的记录在目标文件中应该保持相反的顺序
3. 我不知道我需要洗牌多少文件所以代码应该尽可能通用(例如允许在列表中声明文件名)
4. 文件可以有不同的大小

例子:

File1.txt
---------
File1Record1
File1Record2
File1Record3
File1Record4

File2.txt
---------
File2Record1
File2Record2


File3.txt
---------
File3Record1
File3Record2
File3Record3
File3Record4
File3Record5

输出应该是这样的:

ResultFile.txt
--------------
File3Record5 -|
File2Record2 |
File1Record4 |
File3Record4 -|
File2Record1 |
File1Record3 |-->File3 records are shuffled with the other records and
File3Record3 -| are correctly "reversed" and they kept the correct
File1Record2 | ordering
File3Record2 -|
File1Record1 |
File3Record1 -|

* 我没疯;我必须使用 resultfile.txt 作为输入导入这些文件(博客文章)

编辑:
结果可以有任何你想要的类型,完全或部分洗牌,均匀交错,这并不重要。重要的是第 1 点和第 2 点都得到尊重。

最佳答案

这个怎么样:

>>> l = [["1a","1b","1c","1d"], ["2a","2b"], ["3a","3b","3c","3d","3e"]]
>>> while l:
... x = random.choice(l)
... print x.pop(-1)
... if not x:
... l.remove(x)

1d
1c
2b
3e
2a
3d
1b
3c
3b
3a
1a

您可以通过多种方式对其进行优化,但这是一般的想法。如果您不能一次读取文件但由于内存限制需要迭代它们,这也适用。那样的话

  • 从文件中读取一行而不是从列表中弹出
  • 检查 EOF 而不是空列表

关于python - 将文本文件列表的记录打乱到一个文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6486886/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com