本文由 大侠(AhcaoZhu)原创,转载请声明。
链接: https://blog.csdn.net/Ahcao2008
一图看懂 markupsafe 模块:为 Python 实现 XML/HTML/XHTML 标记安全字符串,资料整理+笔记(大全)
- 🧊摘要
- 🧊模块图
- 🧊类关系图
- 🧊模块全展开
- ☘️【markupsafe】
- 🔵统计
- 🔵常量
- 🔵模块
- 🌿1 functools
- 🌿2 re
- 🌿3 string
- 🌿4 typing
- 🌿5 markupsafe._speedups
- 🔵函数
- 🌿6 _simple_escaping_wrapper(name: str) -> Callable[..., ForwardRef('Markup')]
- 🌿7 _escape_argspec(obj: ~_ListOrDict, iterable: Iterable[Any], escape: Callable[[Any], markupsafe.Markup]) -> ~_ListOrDict
- 🔵类
- 🌿8 markupsafe.Markup
- method
- 1 capitalize()
- 2 center()
- 3 expandtabs()
- 4 format(self, *args: t.Any, **kwargs: t.Any) -> "Markup":
- 5 join(self, seq: t.Iterable[t.Union[str, "HasHTML"]]) -> "Markup":
- 6 ljust()
- 7 lower()
- 8 lstrip()
- 9 partition(self, sep: str) -> t.Tuple["Markup", "Markup", "Markup"]:
- 10 replace()
- 11 rjust()
- 12 rpartition(self, sep: str) -> t.Tuple["Markup", "Markup", "Markup"]:
- 13 rsplit(
- 14 rstrip()
- 15 split(
- 16 splitlines(self, keepends: bool = False) -> t.List["Markup"]:
- 17 strip()
- 18 striptags(self) -> str:
- 19 swapcase()
- 20 title()
- 21 translate()
- 22 unescape(self) -> str:
- 23 upper()
- 24 zfill()
- class method
- 25 escape(cls, s: t.Any) -> "Markup":
- 🌿9 markupsafe.EscapeFormatter
- data
- method
- 2 format_field(self, value: t.Any, format_spec: str) -> str:
- 🌿10 markupsafe._MarkupEscapeHelper
- data
- 🔵内嵌函数或方法
- 🔵私有或局部
- 🔵剩余
- ☘️【functools】
- ☘️【re】
- ☘️【string】
- ☘️【typing】
- ☘️【markupsafe._speedups】
🧊摘要
- 全文介绍python的 markupsafe 模块(为 Python 实现 XML/HTML/XHTML 标记安全字符串)、函数、类及类的方法和属性。
- 它通过代码抓取并经AI智能翻译和人工校对。
- 是一部不可多得的权威字典类工具书。它是系列集的一部分。后续陆续发布、敬请关注。【原创:AhcaoZhu大侠】
🧊模块图
markupsafe
◆functools
◆re
◆string
◆typing
markupsafe._speedups
🧊类关系图
◆object
markupsafe._MarkupEscapeHelper
◆str
markupsafe.Markup
◆string.Formatter
markupsafe.EscapeFormatter
🧊模块全展开
☘️【markupsafe】
markupsafe, fullname=markupsafe, file=markupsafe_init_.py
🔵统计
序号 | 类别 | 数量 |
---|---|---|
4 | str | 5 |
6 | list | 1 |
8 | dict | 1 |
9 | module | 5 |
10 | class | 3 |
11 | function | 2 |
12 | builtin_function_or_method | 3 |
13 | residual | 6 |
14 | system | 10 |
15 | private | 7 |
16 | all | 26 |
🔵常量
🔵模块
🌿1 functools
functools, fullname=functools, file=functools.py
🌿2 re
re, fullname=re, file=re.py
🌿3 string
string, fullname=string, file=string.py
🌿4 typing
typing, fullname=typing, file=typing.py
typing模块:支持PEP 484定义的渐进式输入。
🌿5 markupsafe._speedups
_speedups, fullname=markupsafe._speedups, file=markupsafe_speedups.cp37-win_amd64.pyd
🔵函数
🌿6 _simple_escaping_wrapper(name: str) -> Callable[…, ForwardRef(‘Markup’)]
simple_escaping_wrapper(name: str) -> Callable[…, ForwardRef(‘Markup’)], module=markupsafe, line:20 at site-packages\markupsafe_init.py
🌿7 _escape_argspec(obj: ~_ListOrDict, iterable: Iterable[Any], escape: Callable[[Any], markupsafe.Markup]) -> ~_ListOrDict
_escape_argspec(obj: ~_ListOrDict, iterable: Iterable[Any], escape: Callable[[Any], markupsafe.Markup]) -> ~ListOrDict, module=markupsafe, line:251 at site-packages\markupsafe_init.py
各种字符串包装函数的帮助。
🔵类
🌿8 markupsafe.Markup
Markup, markupsafe.Markup, module=markupsafe, line:32 at site-packages\markupsafe_init_.py
可以安全地插入到HTML或XML文档中的字符串,因为它已被转义或标记为安全。
将对象传递给构造函数将其转换为文本并对其进行包装以标记为安全而不进行转义。
要转义文本,请使用 :meth:`escape` 类方法。
>>> Markup("Hello, <em>World</em>!")
Markup('Hello, <em>World</em>!')
>>> Markup(42)
Markup('42')
>>> Markup.escape("Hello, <em>World</em>!")
Markup('Hello <em>World</em>!')
这实现了一些框架使用的 ``__html__()`` 接口。传递一个实现 ``__html__()`` 的对象将包装该方法的输出,标记为安全。
>>> class Foo:
... def __html__(self):
... return '<a href="/foo">foo</a>'
...
>>> Markup(Foo())
Markup('<a href="/foo">foo</a>')
这是 :class:`str` 的子类。它具有相同的方法,但转义它们的参数并返回一个 ``Markup`` 实例。
>>> Markup("<em>%s</em>") % ("foo & bar",)
Markup('<em>foo & bar</em>')
>>> Markup("<em>Hello</em> ") + "<foo>"
Markup('<em>Hello</em> <foo>')
method
1 capitalize()
kind=method class=Markup objtype=function
返回字符串的大写版本。
更具体地说,使第一个字符大写,其余字符小写。
2 center()
kind=method class=Markup objtype=function
返回长度为width的居中字符串。填充使用指定的填充字符(默认为空格)完成。
3 expandtabs()
kind=method class=Markup objtype=function
返回一个副本,其中所有制表符都使用空格展开。
如果没有给出tabsize,则假设tabsize为8个字符。
4 format(self, *args: t.Any, **kwargs: t.Any) -> “Markup”:
kind=method class=Markup objtype=function line:212 at …\lib\site-packages\markupsafe_init_.py
5 join(self, seq: t.Iterable[t.Union[str, “HasHTML”]]) -> “Markup”:
kind=method class=Markup objtype=function line:120 at …\lib\site-packages\markupsafe_init_.py
连接任意数量的字符串。
方法被调用的字符串被插入到每个给定字符串之间。
结果作为一个新字符串返回。
例如: '.'.join(['ab', 'pq', 'rs']) -> 'ab.pq.rs'』
6 ljust()
kind=method class=Markup objtype=function
返回长度为width的左对齐字符串。填充使用指定的填充字符(默认为空格)完成。
7 lower()
kind=method class=Markup objtype=function
返回转换为小写的字符串副本。
8 lstrip()
kind=method class=Markup objtype=function
返回删除前导空格的字符串副本。
如果给出了chars而不是None,则删除chars中的字符。
9 partition(self, sep: str) -> t.Tuple[“Markup”, “Markup”, “Markup”]:
kind=method class=Markup objtype=function line:202 at …\lib\site-packages\markupsafe_init_.py
10 replace()
kind=method class=Markup objtype=function
返回一个副本,其中所有出现的子字符串old都被new替换。
count 要替换的最大出现次数。
-1(默认值)表示替换所有的出现。
如果给出了可选参数count,则只替换第一个count出现。
11 rjust()
kind=method class=Markup objtype=function
返回长度为width的右对齐字符串。
填充使用指定的填充字符(默认为空格)完成。
12 rpartition(self, sep: str) -> t.Tuple[“Markup”, “Markup”, “Markup”]:
kind=method class=Markup objtype=function line:207 at …\lib\site-packages\markupsafe_init_.py
13 rsplit(
kind=method class=Markup objtype=function line:132 at …\lib\site-packages\markupsafe_init_.py
返回字符串中单词的列表,使用sep作为分隔符字符串。
sep 分割字符串的分隔符。
None(默认值) 表示根据任何空格进行分割,并从结果中丢弃空字符串。
maxsplit 要执行的最大分割数。
-1(默认值)表示没有限制。
分割是从字符串的末尾开始,一直到前面。
14 rstrip()
kind=method class=Markup objtype=function
返回字符串的副本,删除末尾的空格。
如果给出了chars而不是None,则删除chars中的字符。
15 split(
kind=method class=Markup objtype=function line:125 at …\lib\site-packages\markupsafe_init_.py
返回字符串中单词的列表,使用sep作为分隔符字符串。
sep 分割字符串的分隔符。
None(默认值)表示根据任何空格进行分割,并从结果中丢弃空字符串。
maxsplit 要执行的最大分割数。-1(默认值)表示没有限制。
16 splitlines(self, keepends: bool = False) -> t.List[“Markup”]:
kind=method class=Markup objtype=function line:139 at …\lib\site-packages\markupsafe_init_.py
返回字符串中的行列表,在行边界处中断。
换行符不包括在结果列表中,除非给出了keepends并且为真。
17 strip()
kind=method class=Markup objtype=function
返回字符串的副本,去掉前导和尾部的空白。
如果给出了chars而不是None,则删除chars中的字符。
18 striptags(self) -> str:
kind=method class=Markup objtype=function line:155 at …\lib\site-packages\markupsafe_init_.py
:meth:`unescape`标记,删除标记,并将空白规范化为单个空格。
>>> Markup("Main » <em>About</em>").striptags()
'Main » About'
19 swapcase()
kind=method class=Markup objtype=function
将大写字符转换为小写字符,小写字符转换为大写字符。
20 title()
kind=method class=Markup objtype=function
返回字符串的一个版本,其中每个单词都加了标题。
更具体地说,单词以大写字符开头,其余所有大小写字符都是小写。
21 translate()
kind=method class=Markup objtype=function
使用给定的翻译表替换字符串中的每个字符。
table 转换表,它必须是Unicode序数到Unicode序数、字符串或None的映射。
表必须通过 __getitem__ 实现查找/索引,例如字典或列表。
如果此操作引发LookupError,则保持字符不变。映射到None的字符将被删除。
22 unescape(self) -> str:
kind=method class=Markup objtype=function line:144 at …\lib\site-packages\markupsafe_init_.py
将转义的标记转换回文本字符串。
这将用它们所表示的字符替换HTML实体。
>>> Markup("Main » <em>About</em>").unescape()
'Main » <em>About</em>'
23 upper()
kind=method class=Markup objtype=function
返回转换为大写的字符串副本。
24 zfill()
kind=method class=Markup objtype=function
在左边填充一个带零的数字字符串,以填充给定宽度的字段。
该字符串永远不会被截断。
class method
25 escape(cls, s: t.Any) -> “Markup”:
kind=class method class=Markup objtype=classmethod line:169 at …\lib\site-packages\markupsafe_init_.py
将函数转换为类方法。
🌿9 markupsafe.EscapeFormatter
EscapeFormatter, markupsafe.EscapeFormatter, module=markupsafe, line:223 at site-packages\markupsafe_init_.py
data
1 escape=<member ‘escape’ of ‘EscapeFormatter’ objects> kind:data type:member_descriptor class:<class ‘markupsafe.EscapeFormatter’>
method
2 format_field(self, value: t.Any, format_spec: str) -> str:
kind=method class=EscapeFormatter objtype=function line:230 at …\lib\site-packages\markupsafe_init_.py
🌿10 markupsafe._MarkupEscapeHelper
_MarkupEscapeHelper, markupsafe.MarkupEscapeHelper, module=markupsafe, line:262 at site-packages\markupsafe_init.py
用于:meth:`Markup.__mod__`的帮助。
data
1 escape=<member ‘escape’ of ‘_MarkupEscapeHelper’ objects> kind:data type:member_descriptor class:<class ‘markupsafe._MarkupEscapeHelper’>
2 obj=<member ‘obj’ of ‘_MarkupEscapeHelper’ objects> kind:data type:member_descriptor class:<class ‘markupsafe._MarkupEscapeHelper’>
🔵内嵌函数或方法
11 escape
12 escape_silent
13 soft_str
🔵私有或局部
14 _strip_comments_re re.compile(‘ ’, re.DOTALL)
15 _strip_tags_re re.compile(‘<.*?>’, re.DOTALL)
16 _simple_escaping_wrapper <function _simple_escaping_wrapper at 0x00000228935624C8>
17 _ListOrDict ~_ListOrDict
18 _escape_argspec <function _escape_argspec at 0x00000228935A31F8>
19 _MarkupEscapeHelper <class ‘markupsafe._MarkupEscapeHelper’>
20 _speedups <module ‘markupsafe._speedups’ from ‘…\lib\site-packages\markupsafe\_speedups.cp37-win_amd64.pyd’>
🔵剩余
21 doc
22 loader <_frozen_importlib_external.SourceFileLoader object at 0x000002289355C8C8>
23 spec ModuleSpec(name=‘markupsafe’, loader=<_frozen_importlib_external.SourceFileLoader object at 0x000002289355C8C8>, origin=‘…\lib\site-packages\markupsafe\init.py’, submodule_search_locations=[‘…\lib\site-packages\markupsafe’])
24 _strip_comments_re re.compile(‘ ’, re.DOTALL)
25 _strip_tags_re re.compile(‘<.*?>’, re.DOTALL)
26 _ListOrDict ~_ListOrDict
☘️【functools】
functools, fullname=functools, file=functools.py
☘️【re】
re, fullname=re, file=re.py
☘️【string】
string, fullname=string, file=string.py
☘️【typing】
typing, fullname=typing, file=typing.py
☘️【markupsafe._speedups】
_speedups, fullname=markupsafe._speedups, file=markupsafe_speedups.cp37-win_amd64.pyd