源码网_python 源代码

源码网_python 源代码源码结构目录可以看到此模块定义了4个属性和12个函数,我们依次来讲解属性源码分析#匹配http://或https://absolute_http_url_regexp=re.compil

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

源码结构目录

源码网_python 源代码

可以看到此模块定义了4个属性和12个函数,我们依次来讲解
 

属性源码分析

# 匹配http://或https://
absolute_http_url_regexp = re.compile(r"^https?://", re.I)

# 使用$$转义$符号
dolloar_regex_compile = re.compile(r"\$\$")

# 变量符号, e.g. ${var} or $var
variable_regex_compile = re.compile(r"\$\{(\w+)\}|\$(\w+)")

# 函数符号, e.g. ${func1($var_1, $var_3)}
function_regex_compile = re.compile(r"\$\{(\w+)\(([\$\w\.\-/\s=,]*)\)\}")

 

函数源码分析

 

parse_string_value

作用:将字符串转换为数字

"123" => 123
"12.2" => 12.3
"abc" => "abc"
"$var" => "$var"

 

build_url

作用:在url前面加上base_url,除非它已经是绝对url
 

regex_findall_variables

作用:从内容中提取所有变量名,格式为$variable

Examples:
>>> regex_findall_variables("$variable")
["variable"]

>>> regex_findall_variables("/blog/$postid")
["postid"]

>>> regex_findall_variables("/$var1/$var2")
["var1", "var2"]

>>> regex_findall_variables("abc")
[]

 

regex_findall_functions

作用:从字符串内容中提取所有函数,格式为${fun()}

Examples:
>>> regex_findall_functions("${func(5)}")
["func(5)"]

>>> regex_findall_functions("${func(a=1, b=2)}")
["func(a=1, b=2)"]

>>> regex_findall_functions("/api/1000?_t=${get_timestamp()}")
["get_timestamp()"]

>>> regex_findall_functions("/api/${add(1, 2)}")
["add(1, 2)"]

>>> regex_findall_functions("/api/${add(1, 2)}?_t=${get_timestamp()}")
["add(1, 2)", "get_timestamp()"]

 

extract_variables

作用:递归提取内容中的所有变量
 

parse_function_params

作用:将函数参数解析到argskwargs

Examples:
>>> parse_function_params("")
{'args': [], 'kwargs': {}}

>>> parse_function_params("5")
{'args': [5], 'kwargs': {}}

>>> parse_function_params("1, 2")
{'args': [1, 2], 'kwargs': {}}

>>> parse_function_params("a=1, b=2")
{'args': [], 'kwargs': {'a': 1, 'b': 2}}

>>> parse_function_params("1, 2, a=3, b=4")
{'args': [1, 2], 'kwargs': {'a':3, 'b':4}}

 

get_mapping_variable

作用:获取映射变量
 

get_mapping_function

作用:获取映射函数
 

parse_string

作用:将带有变量和方法的字符串,转为字符串实际内容

Examples:
>>> raw_string = "abc${add_one($num)}def"
>>> variables_mapping = {"num": 3}
>>> functions_mapping = {"add_one": lambda x: x + 1}
>>> parse_string(raw_string, variables_mapping, functions_mapping)
    "abc4def"

 

parse_data

作用:封装parse_string提供给外部调用
 

parse_variables_mapping

作用:解析变量映射

 

parse_parameters

作用:解析参数,参数有3种形式
1. list列表:e.g. ["iOS/10.1", "iOS/10.2", "iOS/10.3"]
2.csv文件上传:"${parameterize(account.csv)}"
3.从debugtalk.py函数中生成:${gen_app_version()}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/164817.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 主宰操作系统的经典算法

    主宰操作系统的经典算法此篇文章带你梳理一下操作系统中都出现过哪些算法进程和线程管理中的算法进程和线程在调度时候出现过很多算法,这些算法的设计背景是当一个计算机是多道程序设计系统时,会频繁的有很多进程或者线程来同时竞争CPU时间片。那么如何选择合适的进程/线程运行是一项艺术。当两个或两个以上的进程/线程处于就绪状态时,就会发生这种情况。如果只有一个CPU可用,那么必须选择接下来哪个进程/线程可以运行。操作系统中有一个叫做调度程序(scheduler)的角色存在,它就是做这件事儿的,调度程序使用的算法叫做调度算

    2022年6月4日
    30
  • vscode设置vue模板_vscode怎么创建vue项目

    vscode设置vue模板_vscode怎么创建vue项目VSCode配置Vue模板代码前端行业使用的编辑器有很多,比如VSCode和webStorm,其中在创建vue文件后webStorm可以自动生成相关的代码,而在VSCode中得一个一个的敲,这样既浪费时间又效率低,因此,在VSCode中可以一键生成vue模板吗?当然可以,过程如下:1、打开VSCode编辑器2、左上角文件(F)=>首选项=>用户片段3、在出现的框中输入vue之后按回车键4、在出现的vue.json文件内写入以下代码

    2025年9月25日
    4
  • android galley实现画廊效果

    android galley实现画廊效果青春流水指间、每段路,都有即将要来的旅程每颗心,都有值得期待的成分Android之ImageSwitcher,Gallery用法今天在做一个软件界面时用到了ImageSwitcher和Gallery控件,在看API时,感觉上面的例子讲的不是很具体,效率并不高。在这里我就以一个图片浏览功能来具体说明这两个控件的用法。首先看运行效果:在这里图片我用的是API中的图

    2022年5月16日
    40
  • 一篇文章带你深入理解 Java 中的Class.getClassLoader[通俗易懂]

    一篇文章带你深入理解 Java 中的Class.getClassLoader[通俗易懂]文章目录一、ClassLoader的作用二、ClassLoader层次结构三、Class加载时调用类加载器的顺序一、ClassLoader的作用我们都知道java程序写好以后是以.java(文本文件)的文件存在磁盘上,然后,我们通过(bin/javac.exe)编译命令把.java文件编译成.class文件(字节码文件),并存在磁盘上。但是程序要运行,首先一定要把.class文件加载…

    2022年4月29日
    47
  • NAND FLASH_NAND器件

    NAND FLASH_NAND器件概要:本文介绍了DM368NANDFlash启动的原理,并且以DM368IPNC参考设计软件为例,介绍软件是如何配合硬件实现启动的.芯片上电后是如何启动实现应用功能的?这是许多工程师在看到处理器运行的时候,通常都会问的一个问题.下面我们就以德州仪器的多媒体处理芯片TMS320DM368为例,介绍它的NANDFlash启动原理以及实现.1.NANDFlash启动原理德州…

    2022年8月13日
    8
  • ghost备份出错,原系统如何修复_电脑怎么做ghost备份

    ghost备份出错,原系统如何修复_电脑怎么做ghost备份  系统装好了,资料也弄好了.自然想到的就是备份.  一键GHOST备份.结果卡在启动项选择那里.停在BACKUPSYSTEM然后下面显示磁盘I/O出错.死机…..  本来以为挂了.后来查了下,只要改变下默认启动项顺序即可.操作如下:  右键我的电脑->属性->高级->启动和故障恢复(设置) 在里面把默认的操作系统backupsystem改为xp就OK.其他的什么等待时间之

    2025年9月21日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号