IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> python简单实现文件上传/下载 -> 正文阅读

[系统运维]python简单实现文件上传/下载

如果团队想要共享一个文件夹,可以在服务器上共享文件夹,支持文件上传和下载。

本文主要介绍两种方式。

方法一

本方法主要使用pythonhttp.serverdroopy模块实现共享文件夹和文件上传。不用自己写代码,都有现成的,适合我这种懒人。

共享文件夹

两个版本的命令:
python2:

python -m SimpleHTTPServer 1234

python3:

python3 -m http.server 1234

后面数字是自定义端口,1234确保在服务器的控制台打开安全组

后台运行

为了让它可以在后台运行,写个简易脚本share.sh
share.sh文件内容,使用python自带的http模块开启服务,默认端口8000,这里自定义为1234

#!/bin/bash
python3 -m http.server 1234

执行

nohup ./share.sh >> ../share.log 2>&1 &

这里的“2>&1”表示将标准错误输出转变化标准输出,可以将错误信息也输出到日志文件中(0-> stdin, 1->stdout, 2->stderr)
../share.log根据自己需求修改存储的路径位置,这里存在上层目录中。

这样就可以提供一个可以下载的共享站点的,共享的就是脚本当前运行的目录,比如DirForUpload。但是上面只能支持下载,并不支持上传,我们可以使用droopy来搭建一个简单的上传服务。

安装droopy

pip install droopy

安装完之后还要下载一个droopy.pythonpython脚本

wget http://stackp.online.fr/wp-content/uploads/droopy

下载完之后启动这个脚本就开启了droopy服务了

python ./droopy -m "now can upload file"

注意:参数不支持中文

可以先测试一下。

后台运行

如果要在后台运行,可以把命令写成脚本,然后nohup后台运行

nohup bash droopy.sh >> droopy.log 2>&1 &

默认是8000端口,我们自定义为8001

文件脚本droopy.sh的内容:

#!/bin/bash

python $PWD/droopy -m "select file to upload" -d /root/project/directories/DirForUpload/ -p logo.jpg 8001
#nohup ./droopy.sh >> droopy.log 2>&1 &

如果改变端口,直接修改末尾的数字,也要注意打开安全组

改变上传目录,修改-d后的路径参数

修改主页展示图片,修改-p参数,更多参考下面:

Usage: droopy [options] [PORT]

Options:

-h, --help show this help message and exit
-d DIRECTORY, --directory DIRECTORY set the directory to upload files to
-m MESSAGE, --message MESSAGE set the message
-p PICTURE, --picture PICTURE set the picture
–dl provide download links
–save-config save options in a configuration file
–delete-config delete the configuration file and exit

启动

分别使用上述两个命令在控制台启动share.shdroopy.sh两个脚本。也就是使用两个端口分别提供共享(下载)和上传功能,之后

打开浏览器

http://127.0.0.1:1234/ 展示文件,支持下载到本地

http://127.0.0.1:8001/ 可以上传文件

查看后台进程:

ps或者jobs

或者

ps -aux | grep [port]

直接按照端口号查找开启的服务

杀死进程

kill [PID]

方法二

上述方法虽然简单,不用自己写代码,但是功能过于单一,需要耗费服务器上的两个端口,分别进行上传和下载。那么能不能将二者合二为一呢,或者增加更多的功能?

参见本人另一篇博客 linux服务器使用python实现文件远程上传下载的http服务器,或者直接前往GitHub使用代码:HTTP_SERVER,下载之到本地后直接在控制台输入:

python HTTP_SERVER.py

运行即可。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-11-25 08:31:26  更:2021-11-25 08:33:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 1:57:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码