python自動上傳文件到網頁(python怎麼上傳文件)

本文目錄一覽:

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 如何將本地文件上傳到指定的服務器頁面上

以下是單個文件的,不確定你的文件夾是什麼意思,可以壓縮下再上傳(方法一樣,調用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://www.506064.com/zh-hant/n/298058.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-28 12:17
下一篇 2024-12-28 12:17

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29

發表回復

登錄後才能評論