gpt4 book ai didi

Python格式化大文本

转载 作者:太空狗 更新时间:2023-10-29 20:37:28 26 4
gpt4 key购买 nike

在 python 中格式化大量文本的最佳方法是什么?我的意思不是格式化输出,而是为了可读性。我一直在尝试关注 guidelines for python layout ,但我没有看到任何关于如何格式化大量文本的评论。

例如:

class GenerateCalendar(object):
def __init__(self):
super( GenerateCalendar, self ).__init__()

def getCalendarHeader( self ):
print """
BEGIN:VCALENDAR
PRODID:-//Atlassian Software Systems//Confluence Calendar Plugin//EN
VERSION:2.0
CALSCALE:GREGORIAN
X-WR-CALNAME;VALUE=TEXT:
X-WR-CALDESC;VALUE=TEXT:
"""

大块的文字看起来很糟糕,而且没有缩进 4 个空格,因此很难阅读。

我想看到的是:

 def getCalendarHeader( self ):
print """
BEGIN:VCALENDAR
PRODID:-//Atlassian Software Systems//Confluence Calendar Plugin//EN
VERSION:2.0
CALSCALE:GREGORIAN
X-WR-CALNAME;VALUE=TEXT:
X-WR-CALDESC;VALUE=TEXT:
"""

但这会在输出的开头引入空白。

关于如何使它遵循推荐的 python 布局的任何想法?我想让它保持整洁和易于阅读。

是否可以在不为每一行打印的情况下这样做?例如

def getCalendarHeader( self ):
print "BEGIN:VCALENDAR\n"
print "PRODID:-//Atlassian Software Systems//Confluence Calendar Plugin//EN\n"
print "VERSION:2.0\n"
print "CALSCALE:GREGORIAN\n"
print "X-WR-CALNAME;VALUE=TEXT:\n"
print "X-WR-CALDESC;VALUE=TEXT:\n"

以上是我希望代码显示的方式,而不是在每一行上打印。

最佳答案

标准库有这方面的工具:

import textwrap

#...

def getCalendarHeader(self):
print textwrap.dedent("""\
BEGIN:VCALENDAR
PRODID:-//Atlassian Software Systems//Confluence Calendar Plugin//EN
VERSION:2.0
CALSCALE:GREGORIAN
X-WR-CALNAME;VALUE=TEXT:
X-WR-CALDESC;VALUE=TEXT:
""")

关于Python格式化大文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9301466/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com