Python可以';t加载.txt文件

Python可以';t加载.txt文件,python,Python,此代码无法加载log.txt文件。 该文件位于temp文件夹中。 为什么我不能加载它? 此代码仅显示以下文本:搜索词:ABC text = input("Search word: ABC") with open("C:\Temp\log.txt", encoding = "utf-8") as f: cnt = 0 for line in f: l = line.strip().split() if (l[-1] == text):

此代码无法加载
log.txt
文件。
该文件位于
temp
文件夹中。
为什么我不能加载它?
此代码仅显示以下文本:
搜索词:ABC

text = input("Search word: ABC")
with open("C:\Temp\log.txt", encoding = "utf-8") as f:
    cnt = 0
    for line in f:
        l = line.strip().split()
        if (l[-1] == text):
            print(line.strip())
            cnt += 1
    if (cnt): print(cnt, "count")
    else: print(text, "No data.")

似乎在运行程序后需要键入单词。您看到的“ABC”是脚本中的提示,即它不是您输入的。这就是为什么程序一直在运行,等待输入而不继续运行

这里是您的代码稍微修改,以使其清晰

text = input("Search word: ")
with open("C:\Temp\log.txt", encoding="utf-8") as f:
    cnt = 0
    for line in f:
        if text in line:
            print(line.strip())
            cnt += 1
    if cnt:
        print(cnt, "count")
    else:
        print(text, "No data.")

我想您应该了解您的代码:

  • 要求用户输入一些文本
  • 在下列条件下,计算文件
    C:\Temp\log.txt
    中该文本的出现次数:
    • 文本不包含空格
    • 文本在这行的末尾
    • 文本后面可以有一个或多个空格
    • 文本前面必须有一个或多个空格
    • 文件不能有空行
在这些条件下,您的代码应该表现良好。我建议将
text=input(“Search word:ABC”)
更改为
text=input(“Search word:”)
,以明确用户需要输入一些文本


如果仍有意外结果,请检查是否存在任何字符编码问题(如终端默认编码不是utf-8)

请包含任何错误或返回代码,因为如果没有这些错误,很难理解失败的原因。没有错误,就没有错误。如果我键入ABC,这段代码需要在txt中查找并打印ABC,但是没有返回代码,或者应用程序是否挂起?没有挂起。返回代码是什么意思?它是Python应用程序完成运行时的状态(有关更多详细信息,请参阅)。你能分享一下你是如何运行这个程序的(例如命令行或IDE)和屏幕截图/显示的文本吗?我误解了代码。你的帮助很好。非常感谢。我误解了代码。你的帮助很好。非常感谢你。