Python字符串格式在print语句

时间:2017-04-06 20:45:16

标签: python string io formatting line

这是我的功能。试图将这一切打印到一行。

这是输出 - >

config::$var['pdf']['meta']['staff_member_name']
 = ";"

由于某种原因,字符串的= ";"部分会在控制台中打印到新行?

这完全只是帮助重复工作要求的个人黑客,所以我不想寻找任何花哨的东西。

这是我的功能 - >

def auto_pdf_config(file):
    with open(file) as f:
        content = f.readlines()
        kill = " = array("
        start = "config::$var['intake']"
        new_line = ""
        for line in content:
            if kill not in line:
                pass
            elif start in line:
                new_line = line
                x = new_line.replace(kill, "")
                y = x.replace(start,"")
                pdf_end = ' = ";" '
                z = "config::$var['pdf']['meta']{}{}".format(y,pdf_end)
                print(z)

2 个答案:

答案 0 :(得分:1)

看来你“y”变量中有新行。你可以尝试剥掉它。

y = x.replace(start,"").strip('\n')

答案 1 :(得分:0)

由于x = new_line.replace(kill,""),y = x.replace(start,""),而new_line是内容行,它包含结束符号(\ n),这就是在pdf_end之前附加此结束符号的原因。您只需要从y中删除结束符号。 你可以这样做:

y = y.strip('\n')