iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >使用python cgi上传文件并计算m
  • 656
分享到

使用python cgi上传文件并计算m

上传文件pythoncgi 2023-01-31 02:01:51 656人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

对文件拷贝后进行MD5值比较,看是不是拷贝完全。Google和baidu上都是使用md5模块读取所有的文件进内存,在计算md5,导致计算超过1G大小的文件报错。增量计算MD5的方法:#!/usr/bin/python import hash

对文件拷贝后进行MD5值比较,看是不是拷贝完全。Google和baidu上都是使用md5模块读取所有的文件进内存,在计算md5,导致计算超过1G大小的文件报错。增量计算MD5的方法:

#!/usr/bin/python
import hashlib
import sys
def main():
        if len(sys.argv) != 2:
                sys.exit('usage:%s file' % sys.argv[0])
        filename = sys.argv[1]
        md5 = hashlib.md5()
        with open(filename,'rb') as fp:
                while True:
                        blk = fp.read(4096)
                        if not blk:break
                        md5.update(blk)
        print md5.hexdigest(),filename

if __name__ == '__main__':
        main()


这个效果一样,使用md5,上面使用的hashlib:

#!/usr/bin/Python
import md5
import sys
def main():
        if len(sys.argv) != 2:
                sys.exit('usage:%s file' % sys.argv[0])
        filename = sys.argv[1]
        m = md5.new()
        with open(filename,'rb') as fp:
                while True:
                        blk = fp.read(4096)
                        if not blk:break
                        m.update(blk)
        print m.hexdigest(),filename

if __name__ == '__main__':
        main()


——————————————————分割线——————————————————


上面例子的应用

计算上传文件的md5值,并显示文件大小:

#!/usr/bin/python
# -*- coding:utf-8 -*-
import cgi, os
import cgitb; cgitb.enable()
import md5

fORM = cgi.FieldStorage()

fileitem = form['filename']
if fileitem.filename:
    #fn = os.path.basename(fileitem.filename)
    #open('/tmp/' + fn, 'wb').write(fileitem.file.read())
    message = 'Got file %s"' % cgi.escape(fileitem.filename)
    m = md5.new()
    size = 0
    while True:
        data = fileitem.file.read(4096)
        if not len(data):
            break
        size += len(data)
        m.update(data)
    #open('/tmp/' + fn, 'wb').write(data)
    li = 'Received file of %d bytes. MD5sum is %s' % (size,m.hexdigest())

else:
    message = 'No file was uploaded'

print """\
Content-Type: text/html\n
<html>
<body>
   <p>%s</p>
   <p>%s</p>
</body>
</html>
""" % (message,li)

MD5.html:

<html>
<body>
   <form enctype="multipart/form-data" 
                     action="/op/md5_file.py" method="post">
   <p>File: <input type="file" name="filename" /></p>
   <p><input type="submit" value="md5" /></p>
   </form>
</body>
</html>


效果:

wKioL1RsK4Xx88r2AACFvwfYywc863.jpg

点击md5,计算文件的md5值

wKiom1RsK2OCDLXYAADh6gKnso8100.jpg

——————————————————分割线——————————————————


跟上个例子类似,功能不一样

python cgi上传文件:

#!/usr/bin/python
# -*- coding:utf-8 -*-
import cgi, os
import cgitb; cgitb.enable()

form = cgi.FieldStorage()

# 获取文件名
fileitem = form['filename']

# 检测文件是否上传
if fileitem.filename:
   # 设置文件路径 
   fn = os.path.basename(fileitem.filename)
   open('/tmp/' + fn, 'wb').write(fileitem.file.read())

   message = 'The file "' + fn + '" was uploaded successfully'

else:
   message = 'No file was uploaded'

print """\
Content-Type: text/html\n
<html>
<body>
   <p>%s</p>
</body>
</html>
""" % (message,)

index.html

<html>
<body>
   <form enctype="multipart/form-data" 
                     action="/op/save_file.py" method="post">
   <p>File: <input type="file" name="filename" /></p>
   <p><input type="submit" value="Upload" /></p>
   </form>
</body>
</html>

效果:

wKiom1RsKXKBRoclAABjPviMZIw179.jpg

点击Upload,显示上传成功

wKiom1RsKcCST4L7AACTALCJiW8111.jpg


--结束END--

本文标题: 使用python cgi上传文件并计算m

本文链接: https://www.lsjlt.com/news/186300.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 使用python cgi上传文件并计算m
    对文件拷贝后进行MD5值比较,看是不是拷贝完全。google和baidu上都是使用md5模块读取所有的文件进内存,在计算md5,导致计算超过1G大小的文件报错。增量计算MD5的方法:#!/usr/bin/python import hash...
    99+
    2023-01-31
    上传文件 python cgi
  • Python使用FTP上传文件
    Python使用FTP上传文件 本文主要介绍如何使用Python通过FTP上传文件。 FTP简介 FTP即文件传输协议(File Transfer Protocol),是用于在网络上进行文件传输的一种...
    99+
    2023-09-07
    python 服务器 网络
  • 用Python上传文件
    Python正在吞噬这个世界!您会发现许多热情的Python程序员和同样多的批评者,但不可否认的是,Python在当今软件开发中是一个强大的、相关的、不断增长的力量。 Python只是一种语言,语言不能解决业务问题,如工作流、体系结构和物流...
    99+
    2023-01-31
    上传文件 Python
  • Python怎么使用FTP上传文件
    这篇“Python怎么使用FTP上传文件”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python怎么使用FTP上传文件”文...
    99+
    2023-07-05
  • python使用requests提交post请求并上传文件(multipart/form-data)
    目录 一、背景 二、请求接口上传文件         2.1、分析接口         2.2、python进行请求 三、总结 一、背景         也是前几天,有一个需求上传文件需要自动化。具体是上传到系统一个文件,并收到返...
    99+
    2023-09-04
    python 爬虫
  • 使用python上传和下载文件到Fast
    1. 下载fdfs_client-py-1.2.6.tar.gz 2. 解压后进入目录执行"python setup.py install": 3. 新建测试文件test_fdfs.py,把下载解压后安装包的.../FastDFS/co...
    99+
    2023-01-31
    上传 文件 python
  • python怎么读取文件并计算平均值
    使用python读取文件并计算平均值的方法:1.新建python项目;2.使用open()函数打开文件;3.使用read()方法获取文件内容;4.遍历获取文件的总数和数量;5.两数相除求平均值;具体步骤如下:首先,打开python,并新建一...
    99+
    2024-04-02
  • 使用AJAX实现上传文件
    本文实例为大家分享了使用AJAX实现上传文件的具体代码,供大家参考,具体内容如下 需求: 在前端页面选择文件上传到服务器的指定位置 前端代码 <form id="upl...
    99+
    2024-04-02
  • 如何使用Servlet上传文件
    如何使用Servlet上传文件?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、Servlet实现文件上传,需要添加第三方提供的jar包下载地址:1) commons-fi...
    99+
    2023-05-31
    servlet 文件上传
  • 怎么使用GitHub上传文件
    这篇文章主要介绍了怎么使用GitHub上传文件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用GitHub上传文件文章都会有所收获,下面我们一起来看看吧。一、注册GitHub账号首先,在GitHub上传文...
    99+
    2023-07-05
  • 云计算中扫描文件该怎么上传到云端
    这篇文章给大家介绍云计算中扫描文件该怎么上传到云端,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在工作中或者日常生活中,我们常常会接触到各种各样的纸质文档,比如领导交代需要扫描的重要文件,或者偶然间看到的一段很喜欢的文...
    99+
    2023-06-04
  • Springboot实现上传文件,并实现调用第三方接口post请求多文件上传文件
    项目过程中,经常会有和第三方接口打交道的过程,今天实现调用第三方上传文件的接口!! 通常拿到第三方的接口文档的时候,不是第一时间先写代码,而是详细阅读接口文档。若接口需要第三方提供的基本参数,例如si...
    99+
    2023-09-08
    spring boot java 后端 spring
  • php文件上传插件如何使用
    要使用PHP文件上传插件,您需要按照以下步骤进行操作:1. 下载插件:首先,您需要从互联网上下载一个PHP文件上传插件。一些常见的插...
    99+
    2023-10-18
    php
  • 怎么使用fileupload控件上传文件
    要使用fileupload控件上传文件,你可以按照以下步骤操作:1. 在HTML页面中添加一个fileupload控件的标签,例如:...
    99+
    2023-08-23
    fileupload
  • Python利用fastapi实现上传文件
    目录使用File实现文件上传使用UploadFile实现文件上传UploadFile的属性设置上传文件是可选的上传多个文件知识点补充使用File实现文件上传 使用Form表单上传文件...
    99+
    2024-04-02
  • Python flask使用ajax上传文件的示例代码
    目录前言JSForm的enctype属性InputMIME类型(更多直接百度,类型超乎你的想想)上传单个文件html代码部分javascript代码部分flask 视图函数部分上传多...
    99+
    2024-04-02
  • springboot多文件上传实现使用postman测试多文件上传接口
    使用postman测试多文件上传接口 1、创建测试类(FileController.java) package com.jeff.controller; import java....
    99+
    2024-04-02
  • SpringMVC使用MultipartResolver实现文件上传
    SpringMVC 中,文件的上传,是通过 MultipartResolver 实现的。 所以,如果要实现文 件的上传,只要在 spring-mvc.xml 中注册相应的 Multi...
    99+
    2023-02-24
    SpringMVC MultipartResolver SpringMVC文件上传
  • .Net Core使用layui多文件上传
    本文实例为大家分享了.Net Core使用layui多文件上传功能的具体代码,供大家参考,具体内容如下 这段时间刚刚接触了.NET Core,工作要求,从0开始,给用户开发了一个小型...
    99+
    2024-04-02
  • Android使用Retrofit上传文件功能
    本文实例为大家分享了Android使用Retrofit上传文件的具体代码,供大家参考,具体内容如下 一、封装RetrofitManager public class Retrofit...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作