安装第三方模块的方法

pip install XXX

python操作mysql

pip install pymysql

导包

import pymysql

第一步:打开数据库连接
1
2
3
4
5
6
db = pymysql.connect(host="数据库地址", 
user="用户名",
password="密码",
port=3306,# 端口
database="数据库名",
charset='utf8')
第二步:创建游标
1
cursor = db.cursor()
第三步:操作数据库

1.创建表

1
2
3
4
5
6
7
8
9
10
11
12
# 如果数据表已经存在使用execute()方法删除表。
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")

# 创建数据表SQL语句
sql = """CREATE TABLE EMPLOYEE (
FIRST_NAME CHAR(20) NOT NULL,
LAST_NAME CHAR(20),
AGE INT,
SEX CHAR(1),
INCOME FLOAT )"""

cursor.execute(sql)

2.查询数据

  • Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。
  • fetchone(): 该收全部的返回结果行.
  • rowcount: 这是方法获取下一个查询结果集。结果集是一个对象
  • fetchall():接一个只读属性,并返回执行execute()方法后影响的行数。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# SQL 查询语句
sql = "SELECT * FROM EMPLOYEE WHERE INCOME > {}".format(1000)
try:
# 执行SQL语句
cursor.execute(sql)
# 获取所有记录列表
results = cursor.fetchall()
for row in results:
fname = row[0]
lname = row[1]
age = row[2]
sex = row[3]
income = row[4]
# 打印结果
print("fname={},lname={},age={},sex={},income={}".format(fname, lname, age, sex, income))

except:
print("Error: unable to fecth data")

3、添加数据

1
2
3
4
5
6
7
8
9
10
11
# SQL 插入语句
sql = """INSERT INTO EMPLOYEE(FIRST_NAME,
LAST_NAME, AGE, SEX, INCOME)
VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""
try:
cursor.execute(sql)
# 提交到数据库执行
db.commit()
except:
# 发生错误时回滚
db.rollback()

4、修改数据

1
2
3
4
5
6
7
8
9
# SQL 更新语句
sql = "UPDATE EMPLOYEE SET AGE = AGE + 1 WHERE SEX = '{}'".format('M')
try:
cursor.execute(sql)
# 提交到数据库执行
db.commit()
except:
# 发生错误时回滚
db.rollback()

5、删除数据#

1
2
3
4
5
6
7
8
9
# SQL 刪除语句
sql = "DELETE FROM EMPLOYEE WHERE AGE > {}".format(20)
try:
cursor.execute(sql)
# 提交到数据库执行
db.commit()
except:
# 发生错误时回滚
db.rollback()

第四步:关闭游标,数据库连接

1
2
cursor.close()
db.close()

python操作redis

pip install redis

常见的操作方法:

1
2
3
4
import redis
r = redis.Redis(host='192.168.0.110', port=6379,db=0)
r.set('name', 'zhangsan') #添加
print (r.get('name')) #获取

python操作GitLab

pip install python-gitlab

常见的操作方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import gitlab

GITLAB_HTTP_URI = 'http://192.168.79.137:8010'
GITLAB_TOKEN = 'xGx7j2ESNxh1zKJQ_RnA'
gl = gitlab.Gitlab(GITLAB_HTTP_URI, GITLAB_TOKEN, api_version=4)

def get_user_projects():
"""
获取gitlab里所有的项目,和登录用户所拥有的项目,以及登录用户所拥有项目的项目成员
:return: []
"""
user_projects = []
all_projects = gl.projects.list()
print(all_projects)

# 获取当前用户所有的项目
for project in all_projects:
for member in project.members.list():
# if member.username == request.user.username:
if member.username == "root":
user_projects.append(project)
return user_projects


def get_project_versions(project_id):
"""
获取某个项目的版本号
:param project_id:
:return:
"""
project = gl.projects.get(project_id)
tags = project.tags.list()
print(tags)
return tags

def get_user_id(self, username):
user = self.gl.users.get_by_username(username)
return user.id

python操作jenkins

Jenkins作为最流行的自动化流程的核心工具,我们使用它自带的web-ui完全可以满足日常的构建及发布工作,但是如果需要和其他系统做集成就必须二次开发或者通过API方式进行交互了。

https://github.com/pycontribs/jenkinsapi

常见的操作:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
from jenkins import Jenkins

# 创建 Jenkins实例的 handle
jen = Jenkins(url="http://xxxxx.com", username="root", password="password")

job_name = "jenkins_test"

# 返回job信息,字典格式
jen.get_job_info(name=job_name)

# 返回名字匹配的job的信息,列表格式
pattern = "^jen"
jen.get_job_info_regex(pattern=pattern)

# 返回第n次构建信息,字典格式
n = 1
jen.get_build_info(name=job_name, number=n)

# 返回当前用户账号信息, 字典格式
jen.get_whoami()

# 返回版本信息, 字符串格式
jen.get_version()

# 返回所有已安装的插件信息,列表格式
jen.get_plugins()

# 返回某个插件的信息,字典格式
jen.get_plugin_info(name="插件名字")

# 复制一个jenkins任务
new_name = "new_job"
jen.copy_job(from_name=job_name, to_name=new_name)

# 重命名一个job
jen.rename_job(from_name=job_name, to_name=new_name)

# 删除一个job
jen.delete_job(name=job_name)

# 启用一个job
jen.enable_job(name=job_name)

# 禁止一个job
jen.disable_job(name=job_name)

# 设置下次构建的序号
jen.set_next_build_number(name=job_name, number=n)

# 判断job是否存在
jen.job_exists(name=job_name)

# 创建一个job
jen.create_job(name=job_name, config_xml="配置信息xml字符串格式")

# 获取job的配置
jen.get_job_config(name=job_name)

# 重新配置Job
jen.reconfig_job(name=job_name, config_xml="配置信息xml字符串格式")

# 出发构建job
parameters = "参数,默认为None"
jen.build_job(name=job_name, parameters=None)

# 安装插件
jen.install_plugin(name="插件名字")

# 停止正在运行的jenkins构建
jen.stop_build(name=job_name, number=n)

# 删除构建
jen.delete_build(name=job_name, number=n)

# 获取正在运行的构建
jen.get_running_builds()

python操作docker

直接看官网,非常的详细

https://github.com/docker/docker-py

python操作paramiko

常见的操作方式:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import paramiko

# 创建SSH对象
ssh = paramiko.SSHClient()
# 允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接服务器
ssh.connect(hostname='c1.salt.com', port=22, username='root', password='123')

# 执行命令
stdin, stdout, stderr = ssh.exec_command('df')
# 获取命令结果
result = stdout.read()

# 关闭连接
ssh.close()