在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("#") 这不是一般解决方案,因为有时评论前面的空格是有意义的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |