繁体   English   中英

根据用户输入替换文本文件中出现的所有单词

[英]Replacing all occurrences of words in a text file according to user input

假设我有一个包含以下内容的文本文件:

dog
dog
cat
dog
bird
cat

我会问用户应该用什么来替换dogcatbird 例如, dog = redcat = yellowbird = green 我的文本文件如下:

red
red
yellow
red
green
yellow

我如何去识别唯一的词,并询问用户用什么来替换每个唯一的词?

我知道如果我这样做:

content = open('tags.txt' 'r').readlines()
content_set = set(content)

我会删除重复的条目。

询问用户用什么来替换这些词怎么样? 然后继续替换这些词?

这是我以前的代码,它打开一个 csv 文件并将内容插入到一个文本文件中:

import csv

csv_location = input("Location of CSV: ")
csv_location_get = csv_location.replace('\\','/')

with open(csv_location_get, 'r') as csv_file:
    reader = csv.reader(csv_file)
    next(reader)
    for row in reader:
        # sku_row = row[0]
        category_row = row[6].split(';')
        category_split = category_row[0]

        with open('tags.txt', 'a') as txt_file:
            txt_file.write(category_split + '\n')

    content_old = open('tags.txt', 'r').readlines()

    content_new = set(content_old)

print(content_new)

你可以很容易地做到

首先,文件必须在提示符或命令行中询问正在处理的文本文件,以便可以打开和编辑文件。 - 喜欢

打开文件(文件名)
test1.txt(输入)

然后你可以显示用户可用的选项——比如
1)更改特定单词/字母的所有出现
2)保存退出
3) 显示文件文本(打印文件)


基于 uesr 输入 - (对于您的程序输入将是 1)
在这里你有 2 个选择

第一个选项

提示用户输入该词以使用另一个词更改其在文件中的出现次数。


第二个选项(很可能是您的选择)

像这样一个字一个字地显示唯一

id 值计数

1--> 狗(25 个位置)
2--> 猫(2 个地方)

输入数字和生词改变所有出现id new_Value

1 红色

然后您可以更改读取所有出现的文件并使用给定的单词更改它。

然后再次提示用户该选项

1)更改特定单词/字母的所有出现
2)保存退出
3) 显示文件文本(打印文件)

然后用户可以查看或者他可以保存并退出您可以在原始副本或临时文本文档中执行这些操作,当用户保存并退出时对原始文档进行更改

谢谢

我不知道如何更改文本文件,但您可以根据需要创建新文件。 我的解决方案是:我会创建两个数组列表,一个包含所有带有重复的单词,一个包含所有没有重复的单词。 喜欢那个: list1 : {dog, dog, cat, dog, Bird, cat} list2 : {dog, cat,bird} 然后我会打印每个单词并询问用户想要用什么来替换它们。 之后用一个“for循环”和“if语句”,我会改变它们

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM