i trying remove specific line numbers file in python in way such
./foo.py filename.txt 4 5 2919
where 4 5 , 2919 line numbers
what trying is:
for in range(len(sys.argv)): if i>1: # avoiding sys.argv[0,1] newlist.append(int(sys.argv[i]))
then:
count=0 generic_loop{ bar=file.readline() count+=1 if not count in newlist: print bar }
it prints lines in original file (with blank spaces in between)
you can try this:
import sys import os filename= sys.argv[1] lines = [int(x) x in sys.argv[2:]] #open 2 files 1 reading , 1 writing open(filename) f,open("newfile","w") f2: #use enumerate line line number, use enumerate(f,1) start index 1 i,line in enumerate(f): if not in lines: #`if not in lines` more clear `if not in line` f2.write(line) os.rename("newfile",filename) #rename newfile original 1
note generation of temporary files it's better use tempfile
module.
Comments
Post a Comment