我有一个pformat()
用于将字典转换为字符串的函数(不相关:字符串稍后将插入write()
文件中.py
)。
所以MY_DCT = {1: 11, 2: 22, 3: 33}
会变成这样的字符串:
MY_DCT = {
1: 11,
2: 22,
3: 33}
该功能有2个要求:
- 字典项目必须显示在第一行之后。
- 元素必须缩进 4 个空格。
这是功能:
import pprint
def f(obj_name, obj_body_as_dct):
body = '{\n' + pprint.pformat(obj_body_as_dct, indent=4, width=1)[1:]
name_and_equal_sign = obj_name + ' = '
return name_and_equal_sign + body + '\n\n'
d = {1: 11, 2: 22, 3: 33}
print(f('MY_DCT', d))
如果indent=0
我得到这个字符串:
MY_DCT = {
1: 11,
2: 22,
3: 33}
如果indent=4
我得到这个字符串:
MY_DCT = {
1: 11,
2: 22,
3: 33}
我检查了参数,pformat()
但我不知道如何在每行上显示正确数量的空格。
我知道我可以使用replace()
等+' '
来修复字符串,但我想知道这些额外的空格是从哪里来的,我是否可以通过正确设置参数来摆脱它(如果这甚至可能的话)。
注意:如果有更好的方法来实现上述目标,请告诉我。