Python入门

[toc]

Python正则re模块介绍

含义 语法格式
re.compile 编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用 re.compile(pattern[, flags])
re.findall 在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。 findall(string[, pos[, endpos]])

关于

含义 示例 参数 返回值
repr() 函数将对象转化为供解释器读取的形式 repr(object) 对象 该对象的 string 格式

if else

1
2
3
4
5
6
7
8
9
10
x = 5
if x < 0:
x = 0
print('Negative changed to zero')
elif x == 0:
print('Zero')
elif x == 1:
print('Single')
else:
print('More')

Python脚本增加返回值

参考文章:

场景:打包的shell脚本中,需要加入修改文件的py脚本。在shell中要根据py脚本的处理结果进行判断。

1、实例说明

1
2
3
4
5
6
7
8
9
10
11
12
13
# py_modify_env.py
if __name__== "__main__":
findTargetLine = False

print('\n')
print('\n')
print('\n')
if findTargetLine:
print('findTargetLine = ' + "True")
sys.exit(0) # 已找到,并修改成功
else:
print('findTargetLine = ' + "False")
sys.exit(1) # 没找到,修改失败

sh文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# sc_build.sh
APPENVIRONMENT=$1 # app的打包环境

echo ""
echo ""
echo ">>>>>>>>>>>>>>> step1:begin change ProjectEnviroment to APPENVIRONMENT >>>>>>>>>>>>>>>>>>>>>>>>>>"
python py_modify_env.py ${APPENVIRONMENT}
# 特别注意:如果这里想把命令退出状态的返回值$?,赋值给一个变量(如modifyEnvPyResult),然后使用echo打印出来,
# 则因为使用了echo命令,那么此时$?的值就会变成是echo这个命令的退出状态,而不是python这个命令的退出状态了,
# 即此时判断python脚本的退出状态就不能用$?,而得用相应的变量,如${modifyEnvPyResult}
if [ $? = 0 ] # 上个命令的退出状态,或函数的返回值。
then
echo "-------- 打包环境切换到${APPENVIRONMENT}成功,继续进行 --------"
else
echo "-------- Failure:打包环境切换到${APPENVIRONMENT}失败,不再继续 --------"
echo "-------- Failure:打包环境切换到${APPENVIRONMENT}失败,不再继续 --------"
echo "-------- Failure:打包环境切换到${APPENVIRONMENT}失败,不再继续 --------"
exit_script
fi
echo "<<<<<<<<<<<<<<<< step1:end change ProjectEnviroment to APPENVIRONMENT <<<<<<<<<<<<<<<<<<<<<<<<<<<<"

终端执行的命令:

1
sh sc_build.sh Develop1