使用或在一个如果不是政治家

2024-05-16 22:26:51 发布

您现在位置:Python中文网/ 问答频道 /正文

编程新手:我正在尝试清理一个文件,以便在每一行上都有一个名称列表。你知道吗

我现在一直在想如何通过一个文本文件,删除所有不以英文字母开头的行。你知道吗

    for line in fileinput.input(file, inplace = True):
        # Remove digits
        result = re.sub(r'\.{2,}', '', result)
        # Remove hyphens
        result = result.replace('-', ' ')
        # Replace unnecessary commas
        result = result.replace(' , ', '  ')
        result = result.replace(' ,', ' ')    
        result = result.replace(',  ', ' ')
        if not result.startswith(',') or result.startswith(' '):
            print(result)

这将导致除最后一个if not语句之外的所有内容都按预期执行。新文本文件仍有以空格开头的行,但不打印以逗号开头的行。如果不是这样的话,我该如何解决这个问题?你知道吗


Tags: 文件名称列表forif编程linenot
1条回答
网友
1楼 · 发布于 2024-05-16 22:26:51

条件not result.startswith(',') or result.startswith(' ') 表示“不以逗号开头”或“以空格开头”

您想要的是not result.startswith(',') and not result.startswith(' '),即“不以逗号开头”和“不以空格开头”

另一个选择是not (result.startswith(',') or result.startswith(' '))。 由于有括号,“NOT”适用于整个条件(result.startswith(',') or result.startswith(' '))

在逻辑上,(AB)与(A)B)相同

相关问题 更多 >