Python无法加载.txt文件

2022-05-21 08:40:36 发布

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

photo 此代码无法加载log.txt文件。
该文件位于temp文件夹中。
为什么我不能加载它?
此代码仅显示以下文本:Search word: 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.")

Tags: 文件代码texttxtlogsearchiflinetempwordstripabcprintphotocnt
2条回答
网友
1楼 ·

似乎在运行程序后需要键入单词。您看到的“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.")
网友
2楼 ·

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

  • 要求用户输入一些文本
  • 在以下条件下,统计文件C:\Temp\log.txt中出现的文本
    • 文本不包含空格
    • 文本位于行的末尾
    • 文本后面可以有一个或多个空格
    • 文本前面必须有一个或多个空格
    • 文件不能有空行

在这些条件下,您的代码应该表现良好。我建议将text = input("Search word: ABC")更改为text = input("Search word: "),以明确用户需要输入一些文本

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