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