generar archivos de entrada formateados específicamente para un programa, y el uso de una pequeña interfaz gráfica pitón tkinter para hacerlo. El código anterior hizo uso de declaraciones de formato fortran. A menos que ya haya un conjunto de funciones de conversión directa para python (que no he encontrado), calculé que el formateo de Python haría el trabajo. En general, se puede, pero no puedo encontrar una manera de tener la repetición de un determinado valor:Python3.2 str.format valor de repetición
Por ejemplo, en FORTRAN:
FORMAT (2A1, I3, **12I5**, F8.3, A7). The "12I5" statement translates to 12 integer values of width 5.
Sé que podría textualmente tener 12 artículos en mi formato de llamada (por ejemplo: ...{0:5d}, {1:5d}, {2:5d}....
), pero me preguntaba si hay una forma de tener una forma simplificada como el anterior ejemplo fortran.
¿Hay algo que había perdido, o es que esto no sea posible y tengo que escribir explícitamente cada artículo en el formato?
-Cheers, Chris.
edición Aquí es un ejemplo más claro de lo que estoy haciendo actualmente:
>>> ---tester = ["M", "T", 1111, 2222, 234.23456, "testing"]
>>> ---fmt = "{0:1}{1:1}, {2:3d}, {3:5d}, {4:8.3F}, {5:>7}"
>>> ---print(fmt.format(*tester))
MT, 13, 1234, 234.235, testing
Me gustaría ser capaz de
>>> ---tester = ["M", "T", 1111, **2222, 3333, 4444**, 234.23456, "testing"]
>>> ---fmt = "{0:1}{1:1}, {2:3d}, **3*{3:5d}**, {4:8.3F}, {5:>7}"
>>> ---print(fmt.format(*tester))
Brillante. No creo conocer la sintaxis% de python realmente, y esto aclara las cosas muy bien, gracias chicos. – Ponml
Puede agradecer a Raymond Hettinger por presentarme ese truco en particular. La sintaxis% -formatting es en realidad formato "antiguo" (Python 2.x) que se mantuvo para 3.x porque eliminarlo era una pesadilla de compatibilidad hacia atrás, pero resulta útil para casos como este. – ncoghlan