This seems like a straight-forward question but I can't seem to pinpoint my problem. I am trying to delete all lines in a file that start with an octothorpe (#) except the first line. Here is the loop I am working with:
for i, line in enumerate(input_file):
if i > 1:
if not line.startswith('#'):
output.write(line)
The above code doesn't seem to work. Does anyone known what my problem is? Thanks!
You aren't writing out the first line:
for i, line in enumerate(input_file):
if i == 0:
output.write(line)
else:
if not line.startswith('#'):
output.write(line)
Keep in mind also that enumerate
(like most things) starts at zero.
A little more concisely (and not repeating the output line):
for i, line in enumerate(input_file):
if i == 0 or not line.startswith('#'):
output.write(line)