加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

在Python中:我怎么说:如果line.partition(‘#’或’tab’)……

发布时间:2020-12-20 12:36:29 所属栏目:Python 来源:网络整理
导读:在 Python中:我怎么说: line = line.partition('#' or 'tab')[0] ... do something with 我知道我能做到: line = line.partition('#')[0] ... do something 但是tab字符的代码是什么,我可以说#或tab吗? 更新:我试着说读每行的第一个单词,如果你读了#然
在 Python中:我怎么说:

line = line.partition('#' or 'tab')[0]   ... do something with

我知道我能做到:

line = line.partition('#')[0]  ... do something

但是tab字符的代码是什么,我可以说#或tab吗?

更新:我试着说读每行的第一个单词,如果你读了#然后忽略该字符后的所有内容(因为它是一个注释).但后来我发现如果我在文件中第一个单词tab#,那么它会将标签作为第一个单词的一部分.所以我试图说,如果你阅读了一个标签或一个哈希,那么将该行视为注释.解决方法是在第一个单词后面放一个空格而不是制表符.但它不是很优雅.我现在意识到if语句不正确,我试图简化太多事情.以上现在是正确的,但我认为Ned Batchelder的方式是现在的方式,但也许现在还有别的东西你知道我想要做什么.

解决方法

由于评论是从#到行尾,我们通常做的就是这个.

raw_data,_,_ = line.partition("#")
data= raw_data.strip()
if len(data) == 0:
    continue # or whatever,the data part of the line is empty
# you have data

关键是不要尝试将注释处理与空白剥离相结合.

[raw_data,_ = line.partition(“#”)将在raw_data中保存“#”之前的部分,它会将“#”保存在名为_的变量中.它还将在名为_的变量中的“#”之后保存该部分.我们只是忽略名为_的变量,所以我们不关心它有什么价值.

你也可以这样做

data,_ = line.strip().partition("#")

这不是一般解决方案,因为有时评论前面的空格是有意义的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读