我是python的新手。在我的python脚本中,我打开一个文件进行阅读,并希望处理某些行。我想忽略以'*'或'#'开头的行。这是我的代码:
line = DLF_P.readline()
while line:
if not line.startswith('*') or not line.startswith('#'):
time = line.split()[0]
print time
time = datetime.strptime(time, FMT)
if start < bdoyend:
print time
line = DLF_P.readline()
我得到的错误是第一行(包含星号)与格式'HH:MM:SS'不匹配。我认为我的代码会忽略这些类型的行。
ValueError:时间数据'**'与格式'%H:%M:%S'
不匹配
我这样做错了吗?
答案 0 :(得分:1)
该行
if not line.startswith('*') or not line.startswith('#'):
应该是
if not line.startswith('*') and not line.startswith('#'):
或
if not (line.startswith('*') or line.startswith('#')):
如果您要忽略以*
开头且以#
开头的行
答案 1 :(得分:0)
由于您正在检查该行是否不以 EITHER *
或#
开头,因此您需要执行以下操作:
if not line.startswith('*') and not line.startswith('#')