Python学习笔记(六)

操作MongoDB

import pymongo
client = pymongo.MongoClient(host='118.24.3.40',port=27017)
db = client['szp'] # 选择数据库,如果数据库不存在就创建,存在就使用
collection = db['stu_info']
db['stu_info'].insert({'name':'dyx','sex':'nv'}) # 添加
for d in db['stu_info'].find({'name111':'dy1111x'}): # 查找
    print(d)

collection.delete_one({'title':'baidu.com'}) # 如果有多条,只会帮你删除一条
collection.delete_many() # 如果有多条,删除多条

collection.update({'jd':'jd.com'},{'jd':'www.jd.com','addr':'亦庄'}) # 修改

sys模块,命令行执行py文件,传入参数

import sys
command = sys.argv # 它会把你运行python文件的时候,传入的参数都放到argv里面
if len(command) > 1:
    excel = command[1]
    print('用例执行',excel)
else:
    print('运行这个python文件时,需要传入一个用例名称,例如:'
          'python run_case.py case.xls')

python导入模块

导入模块的顺序
  1、当前目录下找这个python文件
  2、取python的环境变量里面找这个python文件
导入模块的实质
  把这个模块的代码,从头到尾执行一次

使用其他目录下的自定义函数,在父目录右键--mark directory as -- sources root

然后 from lib.tools import my_db,md5 直接使用或者import 使用。调用

但是这种方式在命令行运行时会报错,需要加入环境变量

import sys,os
base_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# print(__file__) # 不管什么时候,__file__都是当前这个py文件的绝对路径
sys.path.insert(0,base_path) # 临时添加目录到环境变量

开发接口

使用flask模块,pip install flask

import flask,json
server = flask.Flask(__name__) # 把当前这个py文件当做一个服务
@server.route('/login',methods=['get','post']) # 指定接口名称与访问方式
def login():
    # request.args 获取url中的,values都可以获取
    stu = flask.request.args.get('stu')
    username = flask.request.values.get('username') # 从客户端发过来的数据
    pwd = flask.request.values.get('password')
    json_data = flask.request.json.get('fdsf') # 获取入参是json类型的
    print(json_data)
    flask.request.cookies.get('cookie') # 获取cookies
    flask.request.headers.get('header') # 获取headers
    if username == 'nhy' and pwd == '123456':
        res = {'code':1000,'msg':'登录成功','sign':'jfksjdkljfo2j3i42ojiof'}
    else:
        res = {'code':500,'msg':'账号密码错误'}
    return json.dumps(res,ensure_ascii=False)
server.run(port=5000,debug=True) # 加上debug=True,修改后不用重启,不加的话修改需要重启
# host=0.0.0.0 监听所有ip,使局域网里其他用户可以访问

猜你喜欢

转载自www.cnblogs.com/qingmingzy/p/9325866.html