Python 学习总结
python变量的层级global 当使用global 定义全局变量时,经常会提示:Global variable '变量名' is undefined at the module level 12def test001(self) global user_id 下边是查询后得到得结果 12345678910a = '我是模块中的变量a'def hi(): a = '我是函数里的变量a' print('函数“hi”已经运行!')class Go2: a = '我是类2中的变量a' def do2(self): print('函数“do2”已经运行!') 在整个py文件中,非def和class之外得变量,一般在最上放得变量,才是模块变量 如果是在模块中为全局变量赋值 123456# 定义一个全局变量user_id,但是仍然需要在模块层先定义一个全局变量gloabl user_iddef test001(sel...
python生成requirements.txt的方法
python项目如何在另一个环境上重新构建项目所需要的运行环境依赖包? 使用的时候边记边加载是个很麻烦的事情,总会出现遗漏的包的问题,这个时候手动安装也很麻烦,不能确定代码报错的需要安装的包是什么版本。这些问题,requirements.txt都可以解决! 生成requirements.txt,有两种方式: 第一种 适用于单虚拟环境的情况1pip3 freeze > requirements.txt 为什么只适用于单虚拟环境?因为这种方式,会将环境中的依赖包全都加入,如果使用的全局环境,则下载的所有包在里面,不管是不是当前项目依赖的 当然这种情况并不是我们想要的,当我们使用的是全局环境时,可以使用第二种方法。 第二种 (推荐) 使用pipreqs github地址为:pipreq 12345# 安装# pip3 install pipreqs -i https://pypi.tuna.tsinghua.edu.cn/simple/pip3 install pipreqs# 在当前目录生成pipreqs . --encoding=utf8 --force 注意--e...
Scrapy 爬虫框架的使用
Scrapy的介绍scrapy的工作流程如下图所示: 爬虫: 负责向引擎提供要爬取网页的URL,引擎会把这个URL封装成request对象并传递给调度器, 把引擎传递过来的response对象进行数据解析。数据解析有两种结果: 解析出具体的数据,那么通过引擎把这个具体的数据传递给管道,然后存入文件、数据库等 解析出一个新的URL,那么过程同作用1 管道:负责把引擎传递过来的数据进行存储,存入文件、数据库等。管道可以有多个,比如MySQL的管道,某个文件的管道,mango的管道等。 调度器:可以把调度器的存储结构看成一个优先队列,不同的request对象可能优先级不一样,按优先级的高低进行调度 把引擎传递过来的request对象放入队列进行排队,调度器可以实现去重的效果,即对两个相同的URL,只存储一个 向引擎提供队头的request对象(即优先级高的request对象),引擎把这个request对象传递给下载器进行请求 下载器:把引擎传递过来的request对象发送给服务器请求数据,并把服务器返回的内容封装成response对象, 然后把这个response对...
uv 管理工具
UV 全面实战指南 (Python 下一代构建工具)安装 (Installation)pip安装方式123pip install uv# uv管理的依赖,会要求rust环境,安装rust(optional):curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh 脚本安装 官方推荐使用独立脚本安装。这样可以确保 uv 自身不依赖于特定的 Python 环境,且更新方便。但对于仅希望uv作为类似npm类包管理工具的话,个人觉得还是依赖python安装用一点。 macOS / Linux: 1curl -LsSf https://astral.sh/uv/install.sh | sh Windows (PowerShell): 1powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" 安装后验证: 12uv --version# 输出示例: uv ...
利用 coscmd 上传文件到腾讯云 COS
安装Coscmd1pip install coscmd 配置Coscmd123# region: https://xxx.cos.ap-guangzhou.myqcloud.comcoscmd config -a <secret_id> -s <secret_key> -b <bucket> -r <region:这里写ap-guangzhou> [-m <max_thread>] [-p <parts_size>] 名称 描述 有效值 secret_id 必选参数,APPID对应的密钥ID可从COS控制台左侧栏【密钥管理】或云API密钥控制台获取 字符串 secret_key 必选参数,APPID对应的密钥Key可从COS控制台左侧栏【密钥管理】或云API密钥控制台获取 字符串 bucket 必选参数,指定的存储桶名称,bucket的命名规则为{name}-{appid} ,参考创建存储桶 字符串 region 必选参数,存储桶所在地域。参考可用地域 字符串 max_thre...
rabbitmq的安装(单机,集群)
单机部署我们在Centos7虚拟机中使用Docker来安装。 下载镜像1docker pull rabbitmq:3-management 安装MQ执行下面的命令来运行MQ容器: 123456789docker run \ -e RABBITMQ_DEFAULT_USER=itcast \ -e RABBITMQ_DEFAULT_PASS=123321 \ --name mq \ --hostname mq1 \ -p 15672:15672 \ -p 5672:5672 \ -d \ rabbitmq:3-management MQ集群集群分类RabbitMQ的是基于Erlang语言编写,而Erlang又是一个面向并发的语言,天然支持集群模式。RabbitMQ的集群有两种模式: •普通集群:是一种分布式集群,将队列分散到集群的各个节点,从而提高整个集群的并发能力。 •镜像集群:是一种主从集群,普通集群的基础上,添加了主从备份功能,提高集群的数据可用性。 镜像集群虽然支持主从,但主从同步并不是强一致的,某些情况下可能有数据丢失的风险。因此在RabbitMQ的3.8版本...
配合 Kubernetes 收集服务指标:ServiceMonitor 与 PodMonitor
介绍 在Kubernetes中,Prometheus Operator可以通过两种方式自动发现监控目标:PodMonitor和ServiceMonitor。PodMonitor用于监控由单个Pod定义的服务,而ServiceMonitor用于监控Kubernetes Service中的所有Pod。 要使用PodMonitor和ServiceMonitor,需要在Kubernetes中定义它们,然后Prometheus Operator将从这些定义中自动发现和创建监控目标。 在Kubernetes中,Prometheus Operator可以通过两种方式自动发现监控目标:PodMonitor和ServiceMonitor。PodMonitor用于监控由单个Pod定义的服务,而ServiceMonitor用于监控Kubernetes Service中的所有Pod。 要使用PodMonitor和ServiceMonitor,需要在Kubernetes中定义它们,然后Prometheus Operator将从这些定义中自动发现和创建监控目标。 以下是如何使用PodMonitor和Ser...
blackbox_exporter 的安装及配置使用
简介blackbox_exporter 是 Prometheus 官方提供的一个 exporter,可以监控 HTTP、 HTTPS,、DNS、 TCP 、ICMP 等目标实例,从而实现对被监控节点进行监控 和数据采集。promethes调用blackbox_exporter去访问目标监控服务器,实现指标的采集 HTTP/HTPPS:URL/API 可用性检测TCP:端口监听检测 ICMP:主机存活检测 DNS:域名解析 地址:https://github.com/prometheus/blackbox_exporter 安装 / 使用使用kubernetes - deployment部署1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980apiVersion: v1kind: ConfigMapme...
jmx_exporter 的安装及配置使用
参考: https://www.cnblogs.com/JIKes/p/18183537 https://prometheus.github.io/jmx_exporter 简介为了使用Prometheus监控JVM,你需要一个能够采集JVM指标的工具,比如jmx_exporter。 地址:https://github.com/prometheus/jmx_exporter kube-prom operator监听grafana dashboard id【7727】
node_exporter 的安装及配置使用
简介node-export 主要用来做Linux服务器监控,比如服务器的进程数、消耗了多少 CPU、内存,磁盘空间,iops,tcp连接数等资源。 Node Exporter 是用于暴露 *NIX 主机指标的 Exporter,比如采集 CPU、内存、磁盘等信息。采用 Go 编写,不存在任何第三方依赖,所以只需要下载解压即可运行。 Exporter是Prometheus的一类数据采集组件的总称。它负责从目标处搜集数据,并将其转化为Prometheus支持的格式。与传统的数据采集组件不同的是,它并不向中央服务器发送数据,而是等待中央服务器主动前来抓取。 node-exporter用于采集服务器层面的运行指标,包括机器的loadavg、filesystem、meminfo等基础监控,类似于传统主机监控维度的zabbix-agent 数据接口:http://IP:9100/metrics 使用文档:https://prometheus.io/docs/guides/node-exporter/ GitHub:GitHub - prometheus/node_export...
