Python:如何以特定格式写入文件?

1 投票
2 回答
5556 浏览
提问于 2025-04-15 22:19

我有一个叫做 MAC1_Val 的数组:

MAC1_Val array([ 1.00000000e+00, -1.00000000e+01, -2.06306600e+02, 2.22635749e+02, 1.00000000e+00, 1.00000000e+01, 1.00000000e+01, -2.06306600e+02, 2.22635749e+02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.00000000e+00, -1.08892735e+01, 1.88607749e+01, 1.03153300e+01, -1.78666757e+01, 3.33333333e-07, -3.33333333e-07, -4.21637021e-05, 4.21637021e-05, 9.98844400e-01, -1.73973001e-03, 1.20938900e-03, 1.87742948e-03, -3.33333333e-03, 6.66666667e-03, -3.33333333e-03, -2.64911064e-01, -2.60959501e+01, 2.81614422e+01, 3.33333333e-03, -6.66666667e-03, 3.33333333e-03, 0.00000000e+00, 0.00000000e+00])

我想把这些值以特定的格式写入一个文本文件(.txt),像这样:

1.000000e+00
-1.000000e+01 
-2.063066e+02
2.226357e+02
1.000000e+00   
1.000000e+01 .......

注意,浮点数后面要有6位小数

有什么建议吗?谢谢!

2 个回答

1

使用 字符串插值 来格式化数字。

'%.3f' % (1.23456,)
2

printf标准是你的好帮手:

for i in MAC1_Val:
    print "%.6e" % i

1.000000e+00
-1.000000e+01
-2.063066e+02
2.226357e+02
1.000000e+00
1.000000e+01
1.000000e+01

撰写回答