编程新手:我正在尝试清理一个文件,以便在每一行上都有一个名称列表。你知道吗
我现在一直在想如何通过一个文本文件,删除所有不以英文字母开头的行。你知道吗
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语句之外的所有内容都按预期执行。新文本文件仍有以空格开头的行,但不打印以逗号开头的行。如果不是这样的话,我该如何解决这个问题?你知道吗
条件
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(' '))
在逻辑上,不(A或B)与(不A)和(不B)相同
相关问题 更多 >
编程相关推荐