我正在为一个程序生成特定格式的输入文件,并使用小型Python Tkinter GUI前端来完成。旧代码使用了Fortran格式语句。除非已经有针对Python的直接转换函数(我还没有找到),否则我认为Python的格式化可以胜任这项工作。总体上来说,它确实可以,但我找不到一种重复某个值的方法:
例如,在Fortran中:
我知道我可以在格式调用中以文本形式有12个项目(例如:
我是否错过了什么,或者这不可能,我必须明确地写出每个格式项?
-谢谢, 克里斯。
编辑 以下是我目前正在做的更清晰的示例:
例如,在Fortran中:
FORMAT (2A1, I3, **12I5**, F8.3, A7). The "12I5" statement translates to 12 integer values of width 5.
我知道我可以在格式调用中以文本形式有12个项目(例如:
...{0:5d}, {1:5d}, {2:5d}....
),但我想知道是否有一种简化的形式,就像上面的Fortran示例一样。我是否错过了什么,或者这不可能,我必须明确地写出每个格式项?
-谢谢, 克里斯。
编辑 以下是我目前正在做的更清晰的示例:
>>> ---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
I'd like to be able to
>>> ---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))