分类目录归档:后端语言

Python异常处理


在Python中,异常处理是应对程序运行时错误的核心机制,断言是调试阶段的条件检查工具,引发异常则允许我们主动抛出自定义或内置异常。本文将从基础到进阶,结合实例详细讲解这三部分内容。

一、Python异常处理

异常是程序运行时发生的非预期错误(如除零、文件不存在、类型错误等),若不处理会导致程序崩溃。Python通过try-except-finally-else语句实现异常捕获和处理。

1. 异常的基本概念

Python内置了大量异常类,常见的有:

  • ZeroDivisionError:除零错误
  • TypeError:类型不匹配
  • ValueError:值无效
  • FileNotFoundErr...

Read more

Ansible部署Keepalived


要在三台服务器上使用 Ansible Playbook 部署 Keepalived,你可以按照以下步骤创建目录和文件结构,并编写相应的任务和配置文件。

目录结构

├── ansible.cfg
├── inventory
├── roles
│   ├── keepalived-common
│   │   ├── tasks
│   │   │   └── main.yml
│   ├── keepalived-master
│   │   ├── tasks
│   │   │   └── main.yml
│   │   ├── templates
│   │   │   └── ...

Read more

subprocess


Python 的 subprocess 模块用于创建新进程、执行外部命令或程序,并能与这些进程的输入/输出/错误流交互,获取其执行结果(如返回码、输出内容)。它是 Python 中替代旧有模块(如 os.systemos.popen)的推荐方案,提供了更灵活、安全的进程管理能力。

一、核心功能与基本概念

subprocess 模块的核心是启动外部进程(如系统命令 ls/dir、可执行文件 exe、其他脚本 bash/python 等),并通过以下方式与进程交互:

  • 向进程发送输入(stdin)。
  • 捕获进程的输出(stdout)和错误信息(stderr)。
  • 获取进程的退出码(...

Read more

Fabric


Fabric是一个python的远程执行shell的库,同时它也是一个命令行工具。它提供了丰富的同 SSH 交互的接口,可以用来在本地或远程机器上自动化、流水化地执行 Shell 命令。

Python 的 Fabric 是一个基于 SSH 协议的自动化部署与运维工具,它在 Paramiko(底层 SSH 实现)的基础上封装了更简洁的 API,支持通过任务(Task) 定义批量操作(如远程命令执行、文件传输、环境配置等),并可通过命令行直接调用,极大简化了多服务器集群的管理工作。

一、Fabric 版本与安装

Fabric 有两个主要版本,API 差异较大:
- Fabric 1.x:...

Read more

Paramiko


Python 的 Paramiko 是一个基于 SSH 协议的第三方库,用于实现 SSH 客户端功能,支持通过 SSH 连接远程服务器、执行命令、传输文件(SFTP)等操作。它广泛应用于自动化运维、远程服务器管理、批量任务执行等场景,无需手动登录服务器即可通过代码完成远程操作。

一、Paramiko 安装

Paramiko 是第三方库,需通过 pip 安装:

pip install paramiko

二、核心功能:SSH 远程操作

Paramiko 的核心是通过 SSH 协议与远程服务器建立连接,主要功能包括:
- 执行远程命令(单条或批量)。
- 通过 SFTP(SSH Fil...

Read more

psutil


psutil简介

psutil是一个跨平台库(http://pythonhosted.org/psutil/)能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。

它主要用来做系统监控,性能分析,进程管理。它实现了同等命令行工具提供的功能,如ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、iostat、iotop、uptime、pidof、tty、taskset、pmap等。目前支持32位和64位的Linux、Windows、OS X、FreeBSD和Sun Solaris等操作系统。

...

Read more

Flask-Blueprint


Flask-Blueprint(蓝图)是 Flask 中用于模块化组织应用的核心机制。当应用规模扩大时,所有路由、视图函数、静态文件和模板若都放在一个文件中,会导致代码臃肿、难以维护。蓝图可以将应用拆分为多个功能模块(如用户模块、商品模块、订单模块),每个模块独立管理自己的路由、视图、模板和静态资源,最终通过“注册”整合到主应用中,实现代码的解耦和复用。

一、为什么需要蓝图?

  • 模块化开发:将不同功能(如用户管理、内容发布)拆分为独立模块,每个模块有自己的路由、视图和资源。
  • 代码复用:蓝图可以被多个应用共享(如多个项目共用一个“用户认证”模块)。
  • 灵活扩展:通过注册/取消注册蓝图...

Read more

Flask_SQLalchemy


Flask-SQLAlchemy 是 Flask 框架的一个扩展,它将强大的 SQLAlchemy ORM(对象关系映射)工具与 Flask 无缝集成,简化了在 Flask 应用中操作数据库的流程。通过它,你可以用 Python 类(模型)映射数据库表,用类方法和属性替代 SQL 语句,实现数据库的增删改查(CRUD)操作,无需直接编写原生 SQL。

一、Flask-SQLAlchemy 安装

首先通过 pip 安装扩展:

pip install flask-sqlalchemy

二、核心概念与配置

1. 基本概念

  • ORM(对象关系映射):将数据库表映射为 Python 类(称为“...

Read more

Flask进阶


Flask进阶

创建flask_demo15_cookie.py

"""
cookie

- 解释:用来保持服务器和浏览器交互的状态的,由服务器设置,存储在浏览器
- 作用:用来做广告推送
- cookie的设置和获取
    - 设置cookie:response.set_cookie(key, value, max_age)
        - max_age: 表示cookie在浏览器的存储时间,单位:秒
    - 获取cookie:request.cookies.get("key") 
""...

Read more