You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python文件读取问题:同目录TXT文件无法被代码识别

问题分析与修正方案

代码里的核心问题

  • 文件指针耗尽:你先调用fhand.read()把整个文件内容读进了uzunluk,这会把文件内部的指针直接移到末尾,后面的for line in fhand根本读不到任何内容。
  • 拼写错误:line.starswith('A')是笔误,正确写法是line.startswith('A'),少了字母t会直接触发属性错误。
  • input函数用法错误:input()只接受单个字符串参数,你传多个参数的写法完全无效,得用字符串格式化把变量嵌进去。
  • 文件查找问题:输入文件名时必须带后缀(比如test.txt,不能只输test);如果还是找不到,可以先打印当前工作目录确认文件位置:
import os
print(os.getcwd())

修正后的代码

import os

# 可选:打印当前工作目录,确认文件是否在这个路径下
print(f"当前工作目录: {os.getcwd()}")

ffile = input('ENTER THE FILE\'S NAME...: ')
try:
    # 用with语句自动管理文件,避免资源泄漏
    with open(ffile, 'r') as fhand:
        # 先把所有行读进列表,既可以统计字符数,又能正常遍历
        lines = fhand.readlines()
        # 统计总字符数(包含空格)
        uzunluk = sum(len(line) for line in lines)
        sayiLine = 0
        
        for line in lines:
            sayiLine += 1
            line = line.rstrip()
            # 修正startswith拼写错误
            if not line.startswith('A'):
                continue
            
            # 用f-string格式化input的提示文本
            input(f'Dosyanda : {sayiLine} kadar satır bulunuyor.')
            input(f'Dosyanda : {uzunluk} kadar karakter mevcut, VE BOŞLUKLAR BUNA DAHİL!!')
            input('Son olarak dosyanda aramış olduğun tüm satırlar şunlar:')
            print(line)
            input('Çıkmak için enter tuşuna basabilirsin')
# 捕获文件找不到的异常,给出明确提示
except FileNotFoundError:
    print(f"错误:找不到文件 '{ffile}',请检查文件名和路径是否正确。")

内容的提问来源于stack exchange,提问作者Haluk Cem Payım

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 06:36:27