python脚本 环境准备
现在的公司用 Python 做 Web 开发,入职到现在为止(三个月),算是入门了 Python Web 开发
但是 Python 本身是脚本语言,我还从来没有体会到脚本语言能给日常工作带来的便利
就在昨天下午,我开发一个功能,因为有一些 bug,需要不断的调试,而调试意味着要准备环境,做各种操作,比如删除数据库数据、删除文件、发起 Post 请求等
那时我就在想,这些重复工作,不是正好可以用 Python 这个脚本语言帮我完成吗?
于是就开动了,经过一番查阅资料之后,写出了代码如下,可以一键完成各种准备工作:
# -*- coding=utf-8 -*- import os
import pymysql
import requests
import json # 删除ok_file文件
def delete_file() :
ok_file = os.path.join("/demo/2019-07-15/test.ok")
ok_file = ok_file.replace('\\', '/')
if os.path.exists(ok_file):
os.remove(ok_file) # 删除数据库数据
def delete_data():
# 创建连接
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='root', db='test')
# 第二种创建连接方式
# 连接配置信息
# config = {
# 'host': '127.0.0.1',
# 'port': 3306,
# 'user': 'root',
# 'password': '123',
# 'db': 't1',
# 'charset': 'utf8mb4',
# 'cursorclass': pymysql.cursors.DictCursor,
# }
# 创建连接 (2)
# connection = pymysql.connect(**config)
# 创建游标
cursor = conn.cursor()
# 执行SQL,并返回收影响行数
effect_row = cursor.execute("delete from task_info")
# 执行SQL,并返回受影响行数
# effect_row = cursor.execute("update hosts set host = '1.1.1.2' where nid > %s", (1,))
# 执行SQL,并返回受影响行数
# effect_row = cursor.executemany("insert into hosts(host,color_id)values(%s,%s)", [("1.1.1.11",1),("1.1.1.11",2)])
# 提交,不然无法保存新建或者修改的数据
conn.commit()
# 关闭游标
cursor.close()
# 关闭连接
conn.close() # 参考: https://www.cnblogs.com/yourstars/p/8196054.html
# 发起post请求
def launch_post():
url = 'http://127.0.0.1:8000/task/'
body = {"demo_dirs": ["2019-07-15"]}
headers = {'content-type': "application/json"}
# print type(body)
# print type(json.dumps(body))
# 这里有个细节,如果body需要json形式的话,需要做处理
# 可以是data = json.dumps(body)
response = requests.post(url, data=json.dumps(body), headers=headers)
# 也可以直接将data字段换成json字段,2.4.3版本之后支持
# response = requests.post(url, json = body, headers = headers)
# 返回信息
print(response.text)
# 返回响应头
print(response.status_code) delete_file() # 删除ok_file文件
delete_data() # 删除数据库数据
launch_post() # 发起post请求
参考:
https://www.cnblogs.com/jl-bai/p/6124088.html
https://www.cnblogs.com/yourstars/p/8196054.html
python脚本 环境准备的更多相关文章
- $Django 多表操作(增删改查,基于双下划线,对象的查询) 在Python脚本中调用Django环境
		
在Python脚本中调用Django环境. import osif __name__ == '__main__': os.environ.setdefault("DJANGO_SETTING ...
 - Window环境下,PHP调用Python脚本
		
参考 php调用python脚本*** php 调用 python脚本的方法 解决办法:php提供了许多调用其他脚本或程序的方法,比如exec/system/popen/proc_open/passt ...
 - django系列5.4--ORM中执行原生SQL语句, Python脚本中调用django环境
		
ORM执行原生sql语句 在模型查询API不够用的情况下,我们还可以使用原始的SQL语句进行查询. Django 提供两种方法使用原始SQL进行查询:一种是使用raw()方法,进行原始SQL查询并返回 ...
 - Django框架(八)--单表增删改查,在Python脚本中调用Django环境
		
一.数据库连接配置 如果连接的是pycharm默认的Sqlite,不用改动,使用默认配置即可 如果连接mysql,需要在配置文件中的setting中进行配置: 将DATABASES={} 更新为 DA ...
 - celery 分布式异步任务框架(celery简单使用、celery多任务结构、celery定时任务、celery计划任务、celery在Django项目中使用Python脚本调用Django环境)
		
一.celery简介: Celery 是一个强大的 分布式任务队列 的 异步处理框架,它可以让任务的执行完全脱离主程序,甚至可以被分配到其他主机上运行.我们通常使用它来实现异步任务(async tas ...
 - Django框架(九)—— 单表增删改查,在Python脚本中调用Django环境
		
目录 单表增删改查,在Python脚本中调用Django环境 一.数据库连接配置 二.orm创建表和字段 三.单表增删改查 1.增加数据 2.删除数据 3.修改数据 4.查询数据 四.在Python脚 ...
 - Python--day69--pythonDjango终端打印SQL语句、在Python脚本中调用Django环境
		
Django终端打印SQL语句 在Django项目的settings.py文件中,在最后复制粘贴如下代码: LOGGING = { 'version': 1, 'disable_existing_lo ...
 - ORM基础3 在python脚本里调用Django环境
		
1.查询 1.# all获取所有的object,结果QuerySet,列表 print('all'.center(80, '=')) ret = models.Person.objects.all() ...
 - python脚本后台运行
		
问题描述: 环境: CentOS6.4 一个用python写的监控脚本test1.py,用while True方式一直运行,在ssh远程(使用putty终端)时通过以下命令启动脚本: python t ...
 
随机推荐
- 超实用的mysql分库分表策略,轻松解决亿级数据问题
			
一.分库分表的背景 在数据爆炸的年代,单表数据达到千万级别,甚至过亿的量,都是很常见的情景.这时候再对数据库进行操作就是非常吃力的事情了,select个半天都出不来数据,这时候业务已经难以维系.不得已 ...
 - wwindows权限认识(用户及用户组)
			
windows权限认识(用户及用户组) Windows系统内置了许多本地用户组,这些用户组本身都已经被赋予一些权限(permissions),它们具有管理本地计算机或访问本地资源的权限.只要用户账户加 ...
 - pycharm2018.2汉化 解决设置打不开问题
			
首先检查下是不是装了中文汉化包resources_cn.jar 如果有的话,解决办法:1.更换一个汉化包或者将原来的resources_en.jar也放进lib目录下 2.将汉化包都删除,只留下原版的 ...
 - dnn文本分类
			
简介 文本分类任务根据给定一条文本的内容,判断该文本所属的类别,是自然语言处理领域的一项重要的基础任务.具体的,本任务是对文本quey进行分类,任务流程如下: 收集用户query数据. 清洗,标记. ...
 - selenium-find_element相关内容(2)
			
find_element跟find_element_by_xxx的区别 1.查看文件D:\soft\python36\Lib\site-packages\selenium\webdriver\remo ...
 - 【原】centos上安装newman
			
1.安装node/npm 1.Newman(因为Newman是node编写,需要依赖nodejs):可以使用先下载安装包到 /usr/local路径下 /usr/local# wget https:/ ...
 - 百万年薪python之路  --  并发编程之  多进程 一
			
并发编程之 多进程 一. multiprocessing模块介绍  python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大 ...
 - Leetcode(9)回文数
			
Leetcode(9)回文数 [题目表述]: 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 第一次:直接全部转 执行用时:148 ms: 内存消耗:13.4 ...
 - CCBPM工作流系统中如何在特定的一个步骤,调用起另外一条流程
			
关键词: 工作流快速开发平台 工作流设计 业务流程管理 asp.net 开源工作流bpm工作流系统 java工作流主流框架 自定义工作流引擎 需求描述: 1, 操作员在操作最后一个节点时, ...
 - 《ECMAScript6入门》笔记
			
let和const命令 let命令 循环体的let变量只对花括号作用域可见,花括号外不可见 循环体的语句部分是一个父作用域,而循环体内部是一个单独的子作用域 let声明的变量不存在变量提升,未声明的使 ...