write() sólo toma un solo argumento cadena, por lo que podría hacer esto:
outf.write(str(num))
o
outf.write('{}'.format(num)) # more "modern"
outf.write('%d' % num) # deprecated mostly
También tenga en cuenta que write
no va a añadir una nueva línea a la salida por lo que si lo necesita, tendrá que proporcionarlo usted mismo.
Aparte:
Utilizando el formato de cadenas que le dará más control sobre su producción, por lo que por ejemplo se podría escribir (ambos son equivalentes):
num = 7
outf.write('{:03d}\n'.format(num))
num = 12
outf.write('%03d\n' % num)
de conseguir tres espacios, con ceros para el valor de número entero seguido de un salto de línea:
007
012
format() w estar cerca por un tiempo largo, entonces vale la pena aprender/saber.
a cabo .write (str (num)) – joaquin
¡Aprenda a leer los mensajes de error! "El argumento debe ser una cadena, no int" –
¿Publicarías la declaración de outf? – octopusgrabbus