parse(format_string):解析format_string并返回一个元素为tuple的iterator。tuple的形式为(literal_text, field_name, format_spec, conversion)。该函数被vformat用来分解format_string得到普通文本和替换域。literal_text为原来的文本,不需要进行替换;field_name为需要进行格式化和替换的域;format_spec指定了格式化的形式。
之前就是field_name,可以是索引数字,也可以是字典中的键(也就是parse(format_string )函数返回的field_name) (2)!之后跟一个字符,这里跟了s和r,分别是str和raw的缩写,结果很明显,r原样输出了字符串里的\n,s转义了\n(3):之后就是format_spec部分,这里是让0位置的参数居中显示,两边用*填充,更多format_spec...
2 首先看函数_vformat(self, format_string, args, kwargs, used_args, recursion_depth):1:568行判断递归深度参数,小于0抛出异常;2:570行定义列表.存放format_string分割的参数元素.3:572行调用parse函数返回迭代器;4:575-576行给result列表增加元素,该元素是从format_string分割的literal_text参数.5:579行:因...
format(format_string,*args,**kwargs):它调用下面vformat函数。 vformat(format_string,args,kwargs):根据参数和格式化串产生相应的字符串。它调用下面可以重载的函数。 此外,Formatter类还定义了其他一些可以重载的函数: parse(format_string):分解格式化定义format_string; get_field(field_name,args,kwargs):根据...
string.punctuation 由在C 区域设置中被视为标点符号的 ASCII 字符所组成的字符串: !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~. string.printable 由被视为可打印符号的 ASCII 字符组成的字符串。 这是 digits, ascii_letters, punctuation 和whitespace 的总和。 string.whitespace 由被视为空白符号的 ASCII...
parse(format_string) 循环遍历 format_string 并返回一个由可迭代对象组成的元组 (literal_text, field_name, format_spec, conversion)。 它会被 vformat() 用来将字符串分解为文本字面值或替换字段。 元组中的值在概念上表示一段字面文本加上一个替换字段。 如果没有字面文本(如果连续出现两个替换字段就会发生...
parse(format_string) 循环遍历 format_string 并返回一个由可迭代对象组成的元组 (literal_text, field_name, format_spec, conversion)。 它会被 vformat() 用来将字符串分解为文本字面值或替换字段。 元组中的值在概念上表示一段字面文本加上一个替换字段。 如果没有字面文本(如果连续出现两个替换字段就会发生...
>>> str='string learn' >>> dir(str) ['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getslice__', '__gt__', '__hash__', '__init__...
log_string = '192.168.0.1 - - [05/Feb/2024:12:30:45 +0800] "GET /index.html HTTP/1.1" 200 1234' # 定义解析模式 pattern = '{ip} - - [{timestamp}] "{method} {url}" {status_code} {response_size}' # 解析字符串 result = parse(pattern, log_string) ...
parse(format_string) 循环遍历format_string并返回一个可迭代的元组(literal_text,field_name,format_spec,conversion)。 ''' @Description: 循环遍历format_string并返回一个可迭代的元组(literal_text,field_name,format_spec,conversion)。 vformat()使用它将字符串分解为文字文本或替换字段。