C ++ шаблоны вроде как макросы Lisp (а не макросы C), поскольку они работают с уже проанализированной версией кода, и они позволяют генерировать произвольный код во время компиляции. К сожалению, вы программируете что-то похожее на исходное исчисление Lambda, поэтому передовые методы, такие как цикл, являются громоздкими. Во всех деталях gory см. Generative Programming : Krysztof Czarnecki и Ulrich Eisenecker.
Судя по ограниченному контексту вашего вопроса, я считаю, что вы пытаетесь удалить \n
из имени файла, а не из содержимого. Попробуйте это:
numFile = open(sys.stdin.read().rstrip('\n'),'r')