python自动上传文件到网页(python怎么上传文件)

python自动上传文件到网页(python怎么上传文件)做的是web开发吗?可以用框架来解决这个问题,推荐使用Django框架,灵活强大,特别适合做新闻、博客类网站。用Python上传文件,要用到中间件,找一个适合你用的中间件,通过这个中间件上传,如果是自己写的话会很麻烦。存入数据库的不应该是文件而应该是文件的路径,存入了多少条数据这个就比较好实现了,用一个计数变量,保存一条就增加1,最后返回这个变量就可以了。

本文目录一览:

Python的文件上传

做的是web开发吗?可以用框架来解决这个问题,推荐使用Django框架,灵活强大,特别适合做新闻、博客类网站。用Python上传文件,要用到中间件,找一个适合你用的中间件,通过这个中间件上传,如果是自己写的话会很麻烦。存入数据库的不应该是文件而应该是文件的路径,存入了多少条数据这个就比较好实现了,用一个计数变量,保存一条就增加1,最后返回这个变量就可以了。

请问 如何用python写一个带文件上传功能的界面

#!/usr/bin/env python

import cgi, os

import cgitb; cgitb.enable()

try: # Windows needs stdio set for binary mode.

import msvcrt

msvcrt.setmode (0, os.O_BINARY) # stdin = 0

msvcrt.setmode (1, os.O_BINARY) # stdout = 1

except ImportError:

pass

form = cgi.FieldStorage()

# Generator to buffer file chunks

def fbuffer(f, chunk_size=10000):

while True:

chunk = f.read(chunk_size)

if not chunk: break

yield chunk

# A nested FieldStorage instance holds the file

fileitem = form[‘file’]

# Test if the file was uploaded

if fileitem.filename:

# strip leading path from file name to avoid directory traversal attacks

fn = os.path.basename(fileitem.filename)

f = open(‘files/’ + fn, ‘wb’, 10000)

# Read the file in chunks

for chunk in fbuffer(fileitem.file):

f.write(chunk)

f.close()

message = ‘The file “‘ + fn + ‘” was uploaded successfully’

else:

message = ‘No file was uploaded’

print “””\

Content-Type: text/html\n

htmlbody

p%s/p

/body/html

“”” % (message,)

python自动上传文件到网页(python怎么上传文件)

树莓派 python 如何将本地文件上传到指定的服务器页面上

以下是单个文件的,不确定你的文件夹是什么意思,可以压缩下再上传(方法一样,调用zip命令)

我的实现方法:调用终端的curl,以下为代码平片段,实现的功能是上传log文件到服务器,供参考:

def post_log(self, post_url, del_source_file=True):

        ”’

        post log to log server

        ”’

        if self.log_path:

            command = “curl -s -F log=@{0} {1}”.format(self.log_path, post_url)

            return_str = os.popen(command).read()

            logging.debug(return_str)

            # print return_str

            if return_str == “success”:

                if del_source_file:

                    del_command = “sudo rm {0}”.format(self.log_path)

                    os.system(del_command)

                return True

            else:

                return False

        return False

如何把python代码上传到服务器上

使用pip或easy_install可以管理和安装python的package包,实际上它们都是从pypi服务器中搜索和下载package的。目前在pypi服务器上,有超过三万多个package,同时还允许我们将自己的代码也上传发布到服务器上。这样,世界上的所有人都能使用pip或easy_install来下载使用我们的代码了。

具体步骤如下:

首先创建项目文件和setup文件。

目录文件结构如下:

project/

simpletest/

__init__.py

test.py

setup.py

假设项目文件只有一个simpletest包,里面有一个test.py文件。

创建的setup.py文件格式大致如下,其中,install_requires字段可以列出依赖的包信息,用户使用pip或easy_install安装时会自动下载依赖的包。详细的格式参考文档。

from setuptools import setup, find_packages

setup(

name = ‘simpletest’,

version = ‘0.0.1’,

keywords = (‘simple’, ‘test’),

description = ‘just a simple test’,

license = ‘MIT License’,

install_requires = [‘simplejson=1.1’],

author = ‘yjx’,

author_email = ‘not@all.com’,

packages = find_packages(),

platforms = ‘any’,

)

然后将代码打包。

打包只需要执行python

setup.py xxx命令即可,其中xxx是打包格式的选项,如下:

# 以下所有生成文件将在当前路径下 dist 目录中

python setup.py bdist_egg # 生成easy_install支持的格式

python setup.py sdist # 生成pip支持的格式,下文以此为例

发布到pypi。

发布到pypi首先需要注册一个账号,然后进行如下两步:

注册package。输入python setup.py register。

上传文件。输入python setup.py sdist upload。

安装测试

上传成功后,就可以使用pip来下载安装了。

另外,pypi还有一个测试服务器,可以在这个测试服务器上做测试,测试的时候需要给命令指定额外的”-r”或”-i”选项,如python

setup.py register -r “”,python

setup.py sdist upload -r “”,pip

install -i “” simpletest。

发布到测试服务器的时候,建议在linux或cygwin中发布,如果是在windows中,参考文档,需要生成.pypirc文件

python selenium怎么自动上传文件

给你个例子:

if not img_path:

    img_path = os.path.abspath(“../res/cvd_test.jpg”)

else:

    img_path = path.abspath(img_path)

# wait for the file upload input element visible

up_img_input = WebDriverWait(self.driver, 10).until(

    EC.presence_of_element_located((By.ID, “updli_file”))

)

up_img_input.send_keys(img_path)

send_img_btn = WebDriverWait(self.driver, 10).until(

    EC.element_to_be_clickable((By.ID, “send-pic-img”))

)

# time.sleep(self.send_interval)

send_img_btn.click()

上面实现的工作就是,找到上传组件的那个input元素,然后把你要上传的文件的路径发送给ta

如何在 Python 中模拟 post 表单来上传文件

在机器上安装了Python的setuptools工具,可以通过下面的命令来安装 poster:

1

a href=”;tn=44039180_cprfenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y4mW0sP17WuH63nHw-Pj790ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnWmYnHczP1bkPWfkPjcznHmd” target=”_blank” class=”baidu-highlight”easy_install/a poster

装完之后,安装下面代码就可以实现post表单上传文件了:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

from poster.encode import multipart_encode

from poster.streaminghttp import register_openers

import urllib2

# 在 urllib2 上注册 http 流处理句柄

register_openers()

# 开始对文件 “DSC0001.jpg” 的 multiart/form-data 编码

# “image1” 是参数的名字,一般通过 HTML 中的 input 标签的 name 参数设置

# headers 包含必须的 Content-Type 和 Content-Length

# datagen 是一个生成器对象,返回编码过后的参数

datagen, headers = multipart_encode({“image1”: open(“DSC0001.jpg”, “rb”)})

# 创建请求对象(localhost服务器IP地址,5000a href=”;tn=44039180_cprfenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y4mW0sP17WuH63nHw-Pj790ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnWmYnHczP1bkPWfkPjcznHmd” target=”_blank” class=”baidu-highlight”服务器端口/a)

request = urllib2.Request(“”, datagen, headers)

# 实际执行请求并取得返回

print urllib2.urlopen(request).read()

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/23235.html

(0)
上一篇 2023-11-26
下一篇 2023-11-26

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注