来自文本fi的Randon word

2024-04-20 02:32:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个文件.txt每次运行程序时,我的程序都会从许多单词中随机选取一个单词。每行包含一个单词。为了防止一个单词出现两次,我创建了另一个文件file2.txt,以便可以将绘制的单词复制到file2.txt中,然后从中删除文件.txt这个词是从哪里来的。 在所有的单词都画好之后(因为我一直在运行程序)。然后我将file2.txt中的所有单词复制到文件.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"

到目前为止,我的代码从文件.txt. 如何将随机单词保存到file2.txt,然后从中删除文件.txt. 你知道吗

我还想把file2.txt中的所有单词都复制回文件.txt当我关闭程序或当所有的字文件.txt完成了。那么程序就不能再打印单词了文件.txt你知道吗


Tags: 文件代码程序txtline绘制random单词
1条回答
网友
1楼 · 发布于 2024-04-20 02:32:27

1000个(甚至10万个)单词通常足够小,可以放入内存。你知道吗

您可以使用:

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')

相关问题 更多 >