Python - 文件管理系统
一、概述
前段时间帮公司写了一个资产管理的网站,(https://www.cnblogs.com/ddzj01/p/11316837.html),系统运行的比较稳定,小白的第一个项目得到了领导的肯定。果不其然,第二个需求就来了,需要帮公司再写一个文件管理的系统。
二、过程
1. 由于公司属于跟钱有关的行业,监管严格。所以公司的所有电脑U盘,网盘全都被限制了。不要说把公司的文件拷走,就连从外网把文件拷贝到公司的电脑上都不行,但实际上这个需求是有的,这咋办呢?
2. 以前的办法是如果需要拷贝文件到公司电脑,需要填申请单,层层审批,最后把u盘交给管理员,管理员再把文件拷进来,这他妈的是多么蛋疼的做法!
3. 所以亟需一个网站解决这个问题。现在通过开放几台公共电脑的U盘端口,用户可以通过自己的U盘在该电脑上传文件,上传的文件全部集中存放在公司的存储服务器中,然后在自己的办公电脑下载。监察员通过网站能够查看到每一个用户的上传下载记录。这样就解决了用户自由上传下载,又能实现留痕的功能。
三、网站介绍
登录
用户名填写工号或者姓名,初始密码是“123456”
网站角色
网站一共有三种角色:普通用户、系统管理员、稽核监察员
普通用户拥有的功能:
a 上传和下载文件
b 修改密码
系统管理员拥有的功能:
a 上传和下载文件
b 修改密码
c 对人员进行管理,添加用户,分配角色,密码重置
d 对文件进行终审,但不能对自身上传的文件进行终审
e 填写开放了USB端口的电脑IP地址
系统管理员拥有的功能:
a 上传和下载文件
b 修改密码
c 对文件进行审批,根据子角色的不同分为一审和二审
d 能查看所有人上传的文件
e 能将所有人上传的文件名称导出为excel
f 能查看所有人的上传和下载记录
文件上传和下载
文件上传限定在每个文件500M以内,并且不允许上传bat和exe格式文件。文件如需在公用电脑下载,需要经过一审、二审、终审都通过后,方可下载。文件在一审和二审的过程中,一审员和二审员可以查看该文件的具体内容。
四、相关截图
项目地址:https://github.com/YangBaohust/wjgl
相关截图是初始版本,后面又经过了很大的修改,图片我就懒得重传了,有兴趣可以去看github上面的详细介绍






五、总结
当我发现我第一个python项目在github上面竟然有别人在用的时候,不知道有多开心,这算是对自己的一个鼓励吧。
Python - 文件管理系统的更多相关文章
- python 全栈开发,Day29(昨日作业讲解,模块搜索路径,编译python文件,包以及包的import和from,软件开发规范)
一.昨日作业讲解 先来回顾一下昨日的内容 1.os模块 和操作系统交互 工作目录 文件夹 文件 操作系统命令 路径相关的 2.模块 最本质的区别 import会创建一个专属于模块的名字, 所有导入模块 ...
- 4、Python文件对象及os、os.path和pickle模块(0530)
文件系统和文件 1.文件系统是OS用于明确磁盘或分区上的文件的方法和数据结构---即在磁盘上组织文件的方法: 文件系统模块:os 2.计算机文件(称文件.电脑档案.档案),是存储在某种长期储存设备或临 ...
- python名片管理系统V2
主程序: #! /usr/bin env python3 # -*- coding: utf-8 -*- # 项目三: # 1.要求:编写一个名片管理系统,功能如下: # 用户输入相对应的指令,实现对 ...
- python员工管理系统(基础版)
各位小伙伴们大家好,最近自学python已经差不多把基础学完了,现在运用这些基础知识写了一个简单版本的员工管理系统 因为在大学里我是学过java的,所以,当有了一定的基础和熏陶外,真心觉得python ...
- Linux下Python 文件内容替换脚本
Linux下Python 文件替换脚本 import sys,os if len(sys.argv)<=4: old_text,new_text = sys.argv[1],sys.argv[2 ...
- 【Python文件处理】递归批处理文件夹子目录内所有txt数据
因为有个需求,需要处理文件夹内所有txt文件,将txt里面的数据筛选,重新存储. 虽然手工可以做,但想到了python一直主张的是自动化测试,就想试着写一个自动化处理数据的程序. 一.分析数据格式 需 ...
- Python文件使用“wb”方式打开,写入内容
Python文件使用"wb"方式打开,写入字符串会报错,因为这种打开方式为:以二进制格式打开一个文件只用于写入.如果该文件已存在则将其覆盖.如果该文件不存在,创建新文件. 所以写入 ...
- Python 文件操作函数
这个博客是 Building powerful image classification models using very little data 的前期准备,用于把图片数据按照教程指示放到规定的文 ...
- python文件I/O(转)
Python 文件I/O 本章只讲述所有基本的的I/O函数,更多函数请参考Python标准文档. 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式.此函数把你 ...
随机推荐
- 2019-2020-1 20199304《Linux内核原理与分析》第八周作业
第七章 Linux内核如何装载和启动一个可执行程序 一.知识点 1.ELF(Executable and Linkable Format)概述: "目标文件"指编译器生成的文件,& ...
- SpringBoot-自动配置原理(七)
自动配置原理 本节内容分为三个部分 配置文件的写法 分析自动配置原理 @Conditional 一. 配置文件的写法 配置文件可以写什么? 是与/META-INF/spring.factories配置 ...
- 图形界面GUI
JFrame jframe = new JFrame(); //创建一个窗口 jframe.setVisible(true) //设置窗口显示 jframe.setLocation() //设置窗口位 ...
- BZOJ1002 [FJOI2007]轮状病毒(最小生成树计数)
Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 7125 Solved: 3878[Submit][Status][Discuss] Descripti ...
- LNMP架构的搭建
第9章 LNMP架构的搭建 9.1 什么是LNMP 9.1.1 LNMP的组成 L linux N nginx:实现静态的服务处理 M ...
- ARTS-S docker安装miniconda
FROM centos:centos7.3.1611 MAINTAINER zhouyang3 <aaa@qq.com> WORKDIR /usr/local ADD ./ /usr/lo ...
- intellij idea使用tomcat maven plugin
环境 java 1.8.0_111 tomcat tomcat-8.5.11 maven 3.2.5 intellij idea 14.0.3 命令行使用 建maven工程 mvn archetype ...
- CMFCPropertyGridCtrl的属性改变事件代码
//用于区分Prop, 使用SetData, GetData方法 CMFCPropertyGridProperty* pProp1 = new CMFCPropertyGridProperty(str ...
- springboot自动装配(3)---条件注解@Conditional
之前有说到springboot自动装配的时候,都是去寻找一个XXXAutoConfiguration的配置类,然而我们的springboot的spring.factories文件中有各种组件的自动装配 ...
- WMB Commands
Check ports: mqsiprofile //Run this first mqsireportproperties MB8BROKER -e AddressSampleProvider -o ...