如果该单词在文件中,我该如何阅读用户在文件中给出的单词,并用给定msg的用户的星号替换该单词?

时间:2019-01-08 21:04:46

标签: python

所以基本上我想说的是以下内容: 我想通过命令行参数读取用户给定的文件,然后向用户询问他们要检查的消息。如果句子中的给定单词也在其提供的文本文件中,则我们用星号替换该单词。否则,我们将单词打印出来。 我已经掌握了基本概念,但是它没有用。帮我!我的代码如下:

从sys导入argv 从cs50 import get_string

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

如果感到困惑,我非常抱歉!我已经看到许多其他人尝试这样做,但是他们没有回答我的问题。如果您回答:谢谢您的时间和耐心!

1 个答案:

答案 0 :(得分:0)

您的代码中有几个错误...也许您应该从头开始,如果前面的部分起作用,请扩展程序。一些说明:

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

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

  • 您可能想将所有for嵌套在其中,因此请记住适当的缩进。

祝你好运!