享一段代码,开发了3个接口:
            1、上传文件
            2、查看所有文件
            3、下载文件

使用python开发,需要安装flask模块,使用pip install flask安装即可,代码量特别少,就能实现,加上注释总共35行代码,特别的简单,代码如下:

 
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
import flask,os,time
from flask import request,send_from_directory,jsonify
app = flask.Flask(__name__)#创建一个app,代表这个web服务
@app.route('/get_file',methods=['get'])
def get_file():
    #下载文件接口
    filename = request.values.get('fname',None)
    #获取需要下载的文件名
    if filename:#如果获取到的文件名话
        if os.path.isfile(filename):#判断是否是一个文件
            #返回要下载的文件
            return send_from_directory('.',filename,as_attachment=True)
        else:
            return jsonify({"msg":"文件不存在!"})
    else:
        return jsonify({'msg':'文件名不能为空'})
@app.route('/files',methods=['get'])
def file_list():
    #获取文件列表接口
    files = os.listdir('.')#获取当前目录下所有文件
    new_files = [f for f in files if os.path.isfile(f)]
    #三元运算符,把是文件的放到list中
    return jsonify({"files":new_files})
@app.route('/upload',methods=['post'])
def upload():
    #上传文件接口
    f = request.files.get('file_name',None)
    if f:
        t = time.strftime('%Y%m%d%H%M%S')#获取当前时间
        new_file_name = t+f.filename#给文件重命名,防止有重复文件覆盖
        f.save(new_file_name)#保存文件
        return jsonify({"code":"ok"})
    else:
        return jsonify({"msg":"请上传文件!"})
app.run(debug=True,port=8888)#启动这个web服务

python开发接口的更多相关文章

  1. python 开发接口(一)

    一.首先导入模块  pip install flask 二 1 import flas 2 import json import flask #1.启动一个服务 #2.接收到客户端传过来的数据 #3. ...

  2. python之接口开发基础知识

    一.开发接口的作用 1.mock 服务:在别的接口没有开发完成的时候可以模拟一些接口以便测试已经开发完成的接口,例如假的支付接口,模拟支付成功.支付失败. 2.了解接口是如何实现的:数据交互.数据返回 ...

  3. 测试开发系列之Python开发mock接口(一)

    什么是mock接口呢,举个栗子,你在一家电商公司,有查看商品.购物.支付.发 货.收获等等等一大堆功能,你是一个测试人员,测测测,测到支付功能的时候,你就要调用第三方支付接口了,真实支付,直接扣你支付 ...

  4. Python开发【笔记】:接口

    接口 什么是接口 ? 接口只是定义了一些方法,而没有去实现,多用于程序设计时,只是设计需要有什么样的功能,但是并没有实现任何功能,这些功能需要被另一个类(B)继承后,由 类B去实现其中的某个功能或全部 ...

  5. python开发笔记-python调用webservice接口

    环境描述: 操作系统版本: root@9deba54adab7:/# uname -a Linux 9deba54adab7 --generic #-Ubuntu SMP Thu Dec :: UTC ...

  6. 【神经网络与深度学习】【python开发】caffe-windows使能python接口使用draw_net.py绘制网络结构图过程

    [神经网络与深度学习][python开发]caffe-windows使能python接口使用draw_net.py绘制网络结构图过程 标签:[神经网络与深度学习] [python开发] 主要是想用py ...

  7. python:接口开发

    一.flask flask是一个python编写的轻量级框架,可以使用它实现一个网站或者web服务.本文就用flask来开发一个接口. flask需要先安装再引用.pip install flask ...

  8. Python开发基础-Day18继承派生、组合、接口和抽象类

    类的继承与派生 经典类和新式类 在python3中,所有类默认继承object,但凡是继承了object类的子类,以及该子类的子类,都称为新式类(在python3中所有的类都是新式类) 没有继承obj ...

  9. Python开发【前端】:jQuery

    jQuery简介 jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架).jQuery设计的宗旨是&qu ...

随机推荐

  1. [lua]紫猫lua教程-命令宝典-L1-01-04. 字符串数据

    L1[字符串]01. 单引号与双引号 没什么说得 字符串:以双引号包含 或者单引号包含 或者[[]]包含 L1[字符串]02. 长文本内容 小知识:如果用[[]]包含字符串内容 但是字符串内容里面 包 ...

  2. PyCharm 上传项目到码云托管平台

    码云平台设置: >先到码云 https://gitee.com/ 注册账号 >创建项目,选择合适项目,点击加号 >填写项目的基础信息 在码云上就创建了项目 >安装 Git    ...

  3. git和github的关系以及简单易懂的理解

    git和github的关系   写在前面:我身边好多人问我git和github的区别,想必对于好多人没学过的大佬们恐怕也是一脸懵逼,但是不知道也是不行的,所以我今天就来讲一讲这二者的区别和联系. 用一 ...

  4. JS高级---三种创建对象的方式

    JS高级---三种创建对象的方式 字面量的方式 (实例对象) 调用系统的构造函数 自定义构造函数方式 //创建对象---->实例化一个对象,的同时对属性进行初始化 var per=new Per ...

  5. PLSQL Developer 连接多个数据库

    1.新建一个Oracle的dblink 2.打开客户端instantclient目录,可能不是和PLSQL Developer 一个目录,然后用记事本编辑tnsnames.ora 3.把链接粘贴进去, ...

  6. bootstrap当中,实现div居中

    文本内容居中:利用bootstrap自带CSS样式表当中 的   text-center 样式来实现 <div class="row form-group text-center&qu ...

  7. 《实战Java高并发程序设计》读书笔记一

    第一章 走入并行世界 1.基本概念 同步:同步方法一旦开始,调用者必须等到方法调用返回后,才能继续后续操作 异步:一旦开始,方法调用就会立即返回,调用就可以继续后续操作 并发:表示两个或者多个任务一起 ...

  8. 排序算法大荟萃——希尔(Shell)排序算法

    1.基本思想:先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组.所有距离为d1的倍数的记录放在同一个组中.先再各族中进行直接插入排序,然后取第二个增量d2<d1重复上述的分组 ...

  9. 洛谷 P1563 玩具谜题(模拟)

    嗯... 题目链接:https://www.luogu.org/problem/P1563 这道题主要问题就是弄明白顺逆时针的问题,其实可以简化成一个异或的问题:当head与x异或值为零时,即为顺时针 ...

  10. 队列的python实现

    队列(queue),是一种操作受限的线性表.只允许在队列的一端添加元素,在队列的另一端删除元素.能添加元素的一端称为队尾,能删除元素的一端称为队头. 队列最大的特性是:先进先出(FIFO,first ...