如何读取文件中用户给定的单词,如果该单词在文件中,如何用用户给定消息中的星号替换该单词?

2024-06-23 03:11:57 发布

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

基本上我想说的是: 我想通过命令行参数读取一个用户给定的文件,然后向用户请求一条他们想要被审查的消息。如果一个句子中的一个给定单词也在他们提供的文本文件中,那么我们用星号替换这个单词。否则,我们就把这个词打印出来。 我已经掌握了基本的想法,但它不起作用。帮助我!我的代码如下:

从sys import argv 从cs50导入获取\u字符串

def main():


    if len(argv) != 2:
        print("provide a txtfile.")
        exit(1)

    msg = get_string("What do you want to bleep?\n")

    words = []
    finalWORDS = []

    with open(argv[1]) as bntxt:
        for line in bntxt:
            d = words.append(line.strip())
        for word in msg:
            s = msg.split()
        for same in s:
            if s == d:
                finalWORDS.append(s)
            else:
                print("no")


    print(words)
    print(s)
    print(finalWORDS)



if __name__ == "__main__":
    main()

如果这让人困惑,我很抱歉!我见过许多人试图这样做,但他们没有回答我的问题。如果你回答这个问题:谢谢你的时间和耐心!


Tags: 命令行用户inforifmainlinemsg
1条回答
网友
1楼 · 发布于 2024-06-23 03:11:57

你的代码中有几个错误。。。也许你应该从头开始,如果前一部分有效的话,扩展程序。一些评论:

  • for line in bntxt:应该有bntxt.readlines()

  • for word in msg: s = msg.split():它不需要在循环中,因为值总是相同的(在读取文件中它不会改变)

  • 您可能希望将所有for嵌套在内部,因此请记住适当的缩进。

祝你好运!你知道吗

相关问题 更多 >

    热门问题