在Python 2.4中,如何去掉';'后的字符?

46 投票
8 回答
109968 浏览
提问于 2025-04-15 13:08

假设我正在处理一个文件,这个文件用 ; 来表示注释。我不想解析这些注释。所以如果有一行看起来像这样:

example.com.              600     IN      MX      8 s1b9.example.net ; hello!

有没有更简单或者更优雅的方法来去掉这些字符,而不是这样做:

rtr = ''
for line in file:
    trig = False
    for char in line:
        if not trig and char != ';':
            rtr += char
        else:
            trig = True
    if rtr[max(rtr)] != '\n':
        rtr += '\n'

8 个回答

4

对于Python 2.5或更高版本,我会使用partition这个方法:

rtr = line.partition(';')[0].rstrip() + '\n'
20

只需要根据注释把这一行分开,然后取第一个元素就可以了。

line.split(";")[0]
139

我建议你可以这样说

line.split(";")[0]

这样做会让你得到一个字符串,里面包含了所有字符,直到第一个“;”字符为止,但不包括这个“;”。如果没有“;”这个字符,那就会返回整行内容。

撰写回答