python读取文本忽略中文_Python:如何在文件中读取时忽略#注释行

我build议你在看到一个#字符时不要忽略整个行; 只是忽略其余的行。 你可以用一个称为partition的string方法函数轻松地做到这一点

with open("filename") as f: for line in f: line = line.partition('#')[0] line = line.rstrip() # ... do something with line ...

partition返回一个元组:分区string之前的所有内容,分区string以及分区string之后的所有内容。 因此,通过索引[0]我们只取出分区string之前的部分。

编辑:如果您正在使用没有partition()的Python版本,这里是您可以使用的代码:

with open("filename") as f: for line in f: line = line.split('#', 1)[0] line = line.rstrip() # ... do something with line ...

这将string分割成“#”字符,然后在分割之前保留所有内容。 1参数使.split()方法在一次分割后停止; 因为我们只是抓住第0个子string(通过索引[0] ),你会得到同样的答案没有1参数,但这可能会更快一点。 (从我的原始代码简化感谢来自@gnr的评论。我原来的代码是没有理由的messier;谢谢,@gnr。)

你也可以写你自己的partition()版本partition() 。 这里有一个叫做part() :

def part(s, s_part): i0 = s.find(s_part) i1 = i0 + len(s_part) return (s[:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值