从输入文本文件创建包含唯一单词的文本文件



我已经编写了一段代码来创建一个文本文件,其中包含来自另一文本文件的所有唯一单词。然而,我没有得到任何输出。尽管代码运行时没有出现错误。

输入文本文件,g.txt:

我不是机器人我是一个人我是个女孩我不是女人我是个女学生我上高中

文本文件可以有空行或空格。

我的代码如下:

def unique_file(input_filename, output_filename):
input_file = open('g.txt', 'r')
file_contents = input_file.read()
word_list = file_contents.split()


file = open('n.txt', 'w')
unique_words = set(word_list)
for word in unique_words:
file.write(str(word) + "n")
file.close()

程序没有创建输出文件n.txt.

有什么建议吗?

您忘记调用函数:

def unique_file(input_filename, output_filename):
with open(input_filename) as input_file:
file_contents = input_file.read()
word_list = file_contents.split()
file = open(output_filename, 'w')
unique_words = set(word_list)
for word in unique_words:
file.write(str(word) + "n")
file.close()

if __name__ == "__main__":
unique_file('g.txt', 'n.txt')

这里有一个更优化的代码版本:

def unique_file(input_filename, output_filename):
with open(input_filename) as infile, open(output_filename, 'w') as outfile:
file_contents = infile.read()
word_list = file_contents.split()
unique_words = set(word_list)
for word in unique_words:
outfile.write(str(word) + "n")

if __name__ == "__main__":
unique_file('g.txt', 'n.txt')

最新更新