python - 文本文件中的随机词
问题描述
我有一个 file.txt,我的程序每次运行程序时都会从许多单词中随机选择一个单词。每行包含一个单词。为了防止单词出现两次,我创建了另一个文件 file2.txt,以便可以将绘制的单词复制到 file2.txt 中,然后从绘制单词的 file.txt 中删除。在画完所有的字之后(当我继续运行程序时)。然后我将所有单词从 file2.txt 复制到 file.txt(原始文件)。就像重置所有内容以使程序为下一次做好准备
我的问题是,假设我有超过 1000 个单词,这是最好的方法吗?
到目前为止,这是我的代码:
import random
mainFile = r"C:\Users\Son\file.txt"
lines = [line.rstrip('\n') for line in open(mainFile)]
rand = random.choice(lines)
print(rand)
secondFile = r"C:\Users\Son\file2.txt"
到目前为止,我的代码打印了 file.txt 中的随机单词。如何将该随机单词保存到 file2.txt,然后从 file.txt 中删除。
另外,当我关闭程序或 file.txt 中的所有单词完成时,我希望将 file2.txt 中的所有单词复制回 file.txt。那么程序应该在 file.txt 中不再打印任何单词
解决方案
1,000(甚至 100,000)个单词通常小到足以放入记忆中。
您可以使用:
PATH = r'file1.txt'
with open(PATH, 'r') as f:
unique_words = set(f.read().splitlines())
with open(PATH, 'w') as f:
while unique_words:
f.write(unique_words.pop() + '\n')
推荐阅读
- python - pyodbc 查询没有结果
- firebase-realtime-database - 如何阻止使用 Firebase 作为后端的用户?
- asp.net - 从 aspx 视图中点击控制器方法
- c++ - 在构造函数初始化器列表中初始化 C++ 对象数组
- html - 有什么办法可以改变
在wordpress中标记?我认为滑块革命和购物车导致 SEO 问题
- html - 带有“厨房水槽”的 Bootstrap 卡片组件示例无法正常工作
- python - 通过 SFTP 连接到 PyCharm 中的部署服务器不起作用
- xml - XSL 在 foreach 循环中更改上下文节点
- c# - .asp 的 VSIX IViewTaggerProvider
- perl - 动态更改 Perl @ISA?