【问题标题】:Python string formatting creating a random new line on print statementPython字符串格式化在打印语句上创建一个随机的新行
【发布时间】:2017-09-02 02:08:16
【问题描述】:

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

这是输出 ->

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)

【问题讨论】:

    标签: python string io formatting line


    【解决方案1】:

    您的“y”变量中似乎有新行。您可以尝试将其剥离。

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

    【讨论】:

    • 更一般地说,每个line,除了最后一个,在您浏览文件时都会在末尾有一个\n。此外,基本的strip() 将采用换行符(以及任何其他空格,可能需要也可能不需要)。
    • 非常感谢! python新手,错过了这个方法。像魅力一样工作
    • @Willy 快乐编码 :)
    【解决方案2】:

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

    y = y.strip('\n')
    

    【讨论】:

      猜你喜欢
      • 2016-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 2018-06-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多