的我有一个使用pformat()
的字典转换为字符串的函数(无关:字符串将与write()
在.py
文件后插入)。压痕pformat()输出
所以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}
我查了parameters的pformat()
但我无法弄清楚如何使正确数量的空格出现在每一行上。
我知道我可以使用replace()
,+' '
等修复字符串,但即时通讯想知道额外的空白来自哪里,如果我可以摆脱它通过正确设置参数(如果这甚至可能,那是)。
注意:如果有更好的方法来实现上述,请让我知道。
试试:'打印(pp.pformat({1:11,2:22,3:33},缩进= 0,宽度= 1) )','indent'从0变为2.你会注意到,它在第一行应用了少一个空格。这是'pformat()'的构建方式。 – 2015-04-01 19:43:17
@ user5061您是否尝试过使用我的Python代码?我能够用一个空间解决你的问题。 – logic 2015-04-01 20:39:46