Dodaj ih u parser, na primer:
Code:
parser.add_argument("files", nargs=argparse.REMAINDER)
ili
args, files = parser.parse_known_args()
print(args)
Namespace(files=['new1.txt', 'new2.txt', 'novi.txt'], numsve=True)
args.files[0]
'new1.txt'
args.files[1]
'new2.txt'
args.files[2]
'novi.txt'
len(args.files)
3
Zatim izmeni kod u nalik na sledeće:
Code (python):# Provera da su dati svi argumenti.
if len(args.files) != 3:
print("Unesi naziv 2 ulazna i 1 izlaznog fajla u komandnoj liniji.")
quit()
broj = 1
novi = open(args.files[2], 'w')
if args.numsve:
try:
for i in range(len(args.files) - 1):
with open(args.files[i], 'r') as f:
for i, line in enumerate(f, start=1):
novi.writelines(('{}: {}'.format(i, line)))
except:
print("Dogodila se greška pri učitavanju fajla.")
quit()
else:
try:
for i in range(len(args.files) - 1):
with open(args.files[i], 'r') as f:
for line in f:
if len(line) == 1:
novi.writelines(line)
else:
novi.writelines(str(broj) + ' ' + line)
broj += 1
except:
print("Dogodila se greška pri učitavanju fajla.")
quit()
Inače, ova linija "for i, line in enumerate(f, start=1)" počinje ponovo od broja 1 prilikom narednog prolaska prethodne for petlje, pa imaš ponovo numerisanje od 1, 2, 3, itd.