像Dedent但更灵活

tedent的Python项目详细描述


t输入

保持您的多线模板字符串外观良好:太阳镜:

这是python版本的tedent


目录


这是什么?

  • 类似于dedent的函数 只是语义不同

这个名字代表什么?

  • Te模板字符串
  • dent位置

名字是硬的


为什么要创造它?

  • Dedent没有像我想的那样处理下面的案子
formattedBoroughs=f"""\[    'Brooklyn',    'Manhattan',]"""print(dedent(f"""\        New York boroughs        ${formattedBoroughs}        """))## expected:# New York boroughs# [#     'Brooklyn',#     'Manhattan',# ]## actual:#         New York boroughs#         [#     'Brooklyn',#     'Manhattan',# ]#

简单用法

importtedentfrom'tedent'## *note the lack of the backslash#print(tedent("""        This will be indented          as you expect        """))# writes:# This will be indented#   as you expect

关于缩进如何工作的问题?

由于缩进逻辑既年轻又复杂,请参阅 the codetests了解详细信息。这个 图书馆没有那么大,如果你有任何问题,请创建一个 Github问题。


重要使用说明

  • 首先,这个库不处理标签页。我接受公关 带支架

  • 其次,如果您总是像下面这样使用tedent

    tedent("""    some text    """)

    那你就不应该碰到任何问题。但是我们都知道输入可以是 很棘手,因此tedent有一些输入要求,以便格式化 系好绳子。

输入要求
  • 如果参数不是字符串,则将引发错误
  • 如果传递一个包含三个或更多换行符的字符串,则
    • 第一行和最后一行只能包含空格
    • 第二行必须包含非空白字符
    • 如果不满足上述两个条件,将抛出一个错误
  • 如果传递的字符串少于3个换行符
    • 如果只包含空格,则返回空字符串
    • 否则将引发错误
  • 最后,结果中的所有尾随空格都被去掉

如果您有问题,请提出github问题。


测试

## you must have poetry installed#$poetryshell$poetryinstall$pythonrunTests.py

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
tomcat Java条带错误   java OPENTSDB fsck修复程序不更正重复点   java JavaFX在控制器内切换自身的可见性   java maven surefire插件未并行执行运行程序   读取导致Freemarker模板引擎中TemplateException的Java对象   无法使Java库与我的Android应用程序一起工作   安卓 java。lang.IllegalStateException游标   使用Java检索XML文件中的XSL URL和名称   java如何从文本文件集合中提取特定值   电子邮件java mail gmail   java为什么finalize()只被垃圾收集器调用一次?   java方法findViewById(int)对于Json类型是未定义的。蛇形   java在安卓中尝试从brother打印机打印位图时遇到以下异常   java在颤振中支持Kotlin的优势   java从后面编写文本   java制作列表。第一个列表可以有相同的数字,第二个将是价格,尝试制作第三个列表,如果它们是相同的数字,它将添加价格