python flask服务器搭建_Python - 利用flask搭建一个共享服务器

本文介绍了如何使用Python的Flask框架搭建一个简单的文件共享服务器。通过修改Python代码中的rootdir设置共享目录,利用Flask的路由功能实现文件浏览和下载。用户访问指定URL即可查看和下载共享文件夹内的内容。
摘要由CSDN通过智能技术生成

零、概述

我利用flask搭建了一个简易的共享服务器,分享给大家

一、python代码

import os

import time

from flask import Flask,render_template,url_for,redirect,send_from_directory

# 共享文件夹的根目录

rootdir = r'C:\Users\Administrator\Downloads\zlkt'

app = Flask(__name__)

@app.route('/doc/')

@app.route('/doc//')

def document(subdir=''):

if subdir == '':

# 名字为空,切换到根目录

os.chdir(rootdir)

else:

fullname = rootdir + os.sep + subdir

# 如果是文件,则下载

if os.path.isfile(fullname):

return redirect(url_for('downloader', fullname=fullname))

# 如果是目录,切换到该目录下面

else:

os.chdir(fullname)

current_dir = os.getcwd()

current_list = os.listdir(current_dir)

contents = []

for i in sorted(current_list):

fullpath = current_dir + os.sep + i

# 如果是目录,在后面添加一个sep

if os.path.isdir(fullpath):

extra = os.sep

else:

extra = ''

content = {}

content['filename'] = i + extra

content['mtime'] = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(os.stat(fullpath).st_mtime))

content['size'] = str(round(os.path.getsize(fullpath) / 1024)) + 'k'

contents.append(content)

return render_template('test.html', contents=contents, subdir=subdir, ossep=os.sep)

@app.route('/download/')

def downloader(fullname):

filename = fullname.split(os.sep)[-1]

dirpath = fullname[:-len(filename)]

return send_from_directory(dirpath, filename, as_attachment=True)

if __name__ == '__main__':

app.run()

二、html代码

文档管理

integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u"

crossorigin="anonymous">

integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp"

crossorigin="anonymous">

crossorigin="anonymous">

.big-border {

background: #fff;

width: 1400px;

margin: 0 auto;

padding: 10px;

}

body {

background: #f3f3f3;

}

.page-title {

text-align: center;

}

文档管理


当前目录 {{ossep+subdir}}

文件或目录名修改时间大小

{% if subdir %}

..{{ossep}}

{% endif %}

{% for i in contents %}

{{ i.filename }}{{ i.mtime }}{{ i.size }}

{% endfor %}


三、使用

1. 更改python代码中的rootdir,这里需要填你所共享的文件夹

2. render_template('test.html', ...),我将html命名为test.html,所以这里就是render_template('test.html', ...),你如果命名了其它名字,这里记得改一下

四、最后效果

运行脚本之后,用浏览器打开 http://127.0.0.1:5000/doc/,显示效果如下图

最后欢迎大家使用,和我交流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值