pinCount = 10 nameTemplates = {"SABN":"G*C{0:02d}SABN-M30","AB":"XX*C0{0:02d}ABC-M30RC","FB":"XX*C0{0:02d}FBC-M30RC","ZS":"XX*C0{0:02d}ZSC-M30RC","ZT":"XX*C0{0:02d}ZTC-M30RC"} cmd1="remove header{0:02d}.dev;edit header{0:02d}.dev;add H{0:d} (0 0);" cmd2="package {0} {1};" myCMDs=[] for p in range(2,20+1): myCMDs.append(cmd1.format(p)) for typeKey,typeVal in nameTemplates.items(): myCMDs.append(cmd2.format(typeVal.format(p),typeKey)) connectCMD="connect " for x in range(1,p+1): connectCMD+="{0} {0} ".format(x) myCMDs.append(connectCMD) myCMDs.append("write") with open("test.scr","wt") as f: for x in myCMDs: f.write(x+"\n")