python基础
1、enumerate给列表中的每个值赋予索引
seq = ["one","two","three"]
for i,ele in enumerate(seq):
print(i,ele)
2、zip
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
a = [1,2,3]
b = [4,5,6]
c = [4,5,6,7,8]
zipped = zip(a,b) # 打包为元组的列表,[(1, 4), (2, 5), (3, 6)]
print(zip(a,c)) # 元素个数与最短的列表一致,[(1, 4), (2, 5), (3, 6)]
>>> zip(*zipped) # 与 zip 相反,*zipped 可理解为解压,返回二维矩阵式
[(1, 2, 3), (4, 5, 6)]
3、->常常出现在python函数定义的函数名后面,为函数添加元数据,描述函数的返回类型,从而方便开发人员使用。比如:
def add(x, y) -> int:
return x+y
4、pip更换为阿里的源
1.在运行窗口或资源管理器中输入%APPDATA%
2.进入目录后,新建一个文件夹pip,并在该文件夹里面新建文件pip.ini,并输入以下内容:
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
5、安装虚拟环境
1、通过模块 venv 安装
python -m venv myvenv
2、激活
<myvenv>\Scripts\activate.bat
3、pycharm使用
setting里设置解释器,选择已经存在的虚拟环境。
6、crontab 使用
https://www.cnblogs.com/cqlb/p/9772207.html
crontab任务配置基本格式:
* * * * * command
第1列表示分钟0~59 每分钟用 * 或者 */1 表示
第2列表示小时0~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0,7都可表示星期天)
第6列要运行的命令或执行shell脚本
比如:每分钟执行一次wr.sh脚本
*/5 * * * * sh /mnt/server/wr.sh
然后启动服务:service crond start
相关操作命令:
crontab -l
-u 指定一个用户
-l 列出某个用户的任务计划
-r 删除某个用户的任务
-e 编辑某个用户的任务
7、shell
配合crontab,添加一个监控shell,监控pyhton任务,如果挂了就自动重启。
#!/bin/sh
echo 'process start'
PROCESS_NUM=`ps -ef | grep 'need_started_py_job' | wc -l`
echo $PROCESS_NUM
if (($PROCESS_NUM < 2));
then
#exit
echo process is not running!
echo "进程不存在,将进行重启"
nohup python3 -u /home/need_started_py_job.py > /home/logs/mylog.log 2>&1 &
echo 重启完成
else
echo process is running!
fi