首页 新闻 会员 周边 捐助

read()=-----

0
[已关闭问题] 关闭于 2025-09-18 21:42
  1. 文件对象内部维护一个当前位置指针
    一旦指针到达 EOF(End Of File),任何进一步的 read() 调用都会立即返回空字符串,且指针保持不动——这是 Python 的明文规定。
  2. while True:
        ch = fi.read(1)
        if ch == "":      # 文件读完
            break
        ...               # 正常处理
     
    这样连“多跑一次”都不会出现。
  3. fi = open("小女孩.txt","r")
    ch = "a"
    dic = {}
    while ch:
         ch = fi.read(1)
         if ch not in ("\n","\r","","","","",""):
              dic[ch] = dic.get(ch,0)+1

    这是为什么dic中有{"":1...}的原因
    而用for i in str就没问题。for i in txt: 遍历的是已经完整读进内存的字符串,而 fi.read(1)边读文件边遍历
    fi = open("小女孩.txt","r")
    fo = open("PY301-1.txt","w")
    txt = fi.read()
    d = {}
    exclude = ",。!?、()【】<>《》=:+-*—“”…"
    for word in txt:
        if word in exclude:
            continue
        else:
            d[word] = d.get(word,0)+1
    
    

     

     

     

_java_python的主页 _java_python | 小虾三级 | 园豆:984
提问于:2025-09-18 21:42
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册