python脚本 环境准备

 

现在的公司用 Python 做 Web 开发,入职到现在为止(三个月),算是入门了 Python Web 开发

 

但是 Python 本身是脚本语言,我还从来没有体会到脚本语言能给日常工作带来的便利

 

就在昨天下午,我开发一个功能,因为有一些 bug,需要不断的调试,而调试意味着要准备环境,做各种操作,比如删除数据库数据、删除文件、发起 Post 请求等

那时我就在想,这些重复工作,不是正好可以用 Python 这个脚本语言帮我完成吗?

于是就开动了,经过一番查阅资料之后,写出了代码如下,可以一键完成各种准备工作:

 1 # -*- coding=utf-8 -*-
 2 
 3 import os
 4 import pymysql
 5 import requests
 6 import json
 7 
 8 # 删除ok_file文件
 9 def delete_file() :
10     ok_file = os.path.join("/demo/2019-07-15/test.ok")
11     ok_file = ok_file.replace('\\', '/')
12     if os.path.exists(ok_file):
13         os.remove(ok_file)
14 
15 
16 # 删除数据库数据
17 def delete_data():
18     # 创建连接
19     conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='root', db='test')
20     # 第二种创建连接方式
21     # 连接配置信息
22     # config = {
23     #     'host': '127.0.0.1',
24     #     'port': 3306,
25     #     'user': 'root',
26     #     'password': '123',
27     #     'db': 't1',
28     #     'charset': 'utf8mb4',
29     #     'cursorclass': pymysql.cursors.DictCursor,
30     # }
31     # 创建连接 (2)
32     # connection = pymysql.connect(**config)
33     # 创建游标
34     cursor = conn.cursor()
35     # 执行SQL,并返回收影响行数
36     effect_row = cursor.execute("delete from task_info")
37     # 执行SQL,并返回受影响行数
38     # effect_row = cursor.execute("update hosts set host = '1.1.1.2' where nid > %s", (1,))
39     # 执行SQL,并返回受影响行数
40     # effect_row = cursor.executemany("insert into hosts(host,color_id)values(%s,%s)", [("1.1.1.11",1),("1.1.1.11",2)])
41     # 提交,不然无法保存新建或者修改的数据
42     conn.commit()
43     # 关闭游标
44     cursor.close()
45     # 关闭连接
46     conn.close()
47 
48 # 参考: https://www.cnblogs.com/yourstars/p/8196054.html
49 # 发起post请求
50 def launch_post():
51     url = 'http://127.0.0.1:8000/task/'
52     body = {"demo_dirs": ["2019-07-15"]}
53     headers = {'content-type': "application/json"}
54     # print type(body)
55     # print type(json.dumps(body))
56     # 这里有个细节,如果body需要json形式的话,需要做处理
57     # 可以是data = json.dumps(body)
58     response = requests.post(url, data=json.dumps(body), headers=headers)
59     # 也可以直接将data字段换成json字段,2.4.3版本之后支持
60     # response  = requests.post(url, json = body, headers = headers)
61     # 返回信息
62     print(response.text)
63     # 返回响应头
64     print(response.status_code)
65 
66 
67 delete_file() # 删除ok_file文件
68 delete_data() # 删除数据库数据
69 launch_post() # 发起post请求

 

参考:

https://www.cnblogs.com/jl-bai/p/6124088.html

https://www.cnblogs.com/yourstars/p/8196054.html

 

posted @ 2019-07-18 10:03  stoneBlog  阅读(402)  评论(0编辑  收藏  举报