吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 958|回复: 17
收起左侧

[已解决] python学习中遇到的问题

[复制链接]
kognzhezhi 发表于 2022-11-28 15:52
本帖最后由 kognzhezhi 于 2022-11-29 11:46 编辑

[Python] 纯文本查看 复制代码
f1=open('d:/bill.txt','r',encoding='utf-8')
f2=open('d:/bill_back.txt','w',encoding='utf-8')
i=1
while i<=6:
    str1=f1.readline()
    str1=str1.strip()
    str_=str1.split(',')
    if str_[4]=='测试':
        continue
    f2.write(str1)
    f2.write('\n')
    i+=1

f1.close()
f2.close()      
    


想利用这些代码,读取bill.txt 里面的文件,然后判断 里面是不是有'测试'这个字符串,如果有 就不读取
运行的时候 报错  显示Traceback (most recent call last):
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\lianxi1.py", line 8, in <module>
    if str_[4]=='测试':
IndexError: list index out of range
不是很理解 ,因为  字符串   周杰伦,2022-01-01,10000,消费,测试   下标应该能读取到4
不知道表述的清楚么

在大佬的指导和帮助下,感觉找到了问题的原因,是我代码写的有问题,空循环的几次 导致函数取不到数据 报错了,感谢大家

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

kof21411 发表于 2022-11-28 17:22
你自己先判断一下str_的长度,再取值
liert 发表于 2022-11-28 17:22
中文逗号和英文逗号,看看txt里面的是什么逗号,中文逗号是这样的,英文是这样的,的
fengyuan666 发表于 2022-11-28 17:23
grekevin 发表于 2022-11-28 17:25
在if str_[4]=='测试':之前 把str_打印出来看看是什么
liert 发表于 2022-11-28 17:28
readline读取有换行符,还要判断的时候去掉\n
亚马逊蝌蚪 发表于 2022-11-28 17:38
看问题中你的字符串的标点符号是英文的逗号,而代码中使用的是中文的逗号........
无闻无问 发表于 2022-11-28 18:38
路径上加//试试…
或查看读取到的值…
或用print(locals())打印变量的值看…
最好用调试模式,一下就知道原因。
兄弟,要学会自己找
zzzznl 发表于 2022-11-28 19:11
我是菜鸟,但如果是我的话,会用str.contains(‘测试’)
 楼主| kognzhezhi 发表于 2022-11-28 19:12
kof21411 发表于 2022-11-28 17:22
你自己先判断一下str_的长度,再取值

长度的话是5个字符串,所以能取到4吧
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 05:54

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表