#!/usr/bin/python import os # READ SLURM JOB LIST #line = example data: fat[1-3] line = os.environ['SLURM_JOB_NODELIST'] #line = 'fat[001-003]\n' line.strip() file = open( "cfx_nodefile.dat" , "w" ) #name = fat , numbers = 001-003 name,numbers = line.split('[') numbers = numbers.replace(']', '') #001-003 -> 001 003 start,end = numbers.split('-') #001 003 -> 1 3 start_int = int(start) end_int = int(end) #from 1 to 3 do: for number in range(start_int, end_int+1): number_string = str(number) #add the leading zeroes to node-number 2 -> 002 while len(number_string) < len(start): number_string = "0" + number_string #write down the nodename like fat002 20 times... you could do this most likely with ntasks-per-node for i in range (1,21): file.write(name + str(number_string) + ',' ) file.close