一、概述

前段时间帮公司写了一个资产管理的网站,(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 - 文件管理系统的更多相关文章

  1. python 全栈开发,Day29(昨日作业讲解,模块搜索路径,编译python文件,包以及包的import和from,软件开发规范)

    一.昨日作业讲解 先来回顾一下昨日的内容 1.os模块 和操作系统交互 工作目录 文件夹 文件 操作系统命令 路径相关的 2.模块 最本质的区别 import会创建一个专属于模块的名字, 所有导入模块 ...

  2. 4、Python文件对象及os、os.path和pickle模块(0530)

    文件系统和文件 1.文件系统是OS用于明确磁盘或分区上的文件的方法和数据结构---即在磁盘上组织文件的方法: 文件系统模块:os 2.计算机文件(称文件.电脑档案.档案),是存储在某种长期储存设备或临 ...

  3. python名片管理系统V2

    主程序: #! /usr/bin env python3 # -*- coding: utf-8 -*- # 项目三: # 1.要求:编写一个名片管理系统,功能如下: # 用户输入相对应的指令,实现对 ...

  4. python员工管理系统(基础版)

    各位小伙伴们大家好,最近自学python已经差不多把基础学完了,现在运用这些基础知识写了一个简单版本的员工管理系统 因为在大学里我是学过java的,所以,当有了一定的基础和熏陶外,真心觉得python ...

  5. Linux下Python 文件内容替换脚本

    Linux下Python 文件替换脚本 import sys,os if len(sys.argv)<=4: old_text,new_text = sys.argv[1],sys.argv[2 ...

  6. 【Python文件处理】递归批处理文件夹子目录内所有txt数据

    因为有个需求,需要处理文件夹内所有txt文件,将txt里面的数据筛选,重新存储. 虽然手工可以做,但想到了python一直主张的是自动化测试,就想试着写一个自动化处理数据的程序. 一.分析数据格式 需 ...

  7. Python文件使用“wb”方式打开,写入内容

    Python文件使用"wb"方式打开,写入字符串会报错,因为这种打开方式为:以二进制格式打开一个文件只用于写入.如果该文件已存在则将其覆盖.如果该文件不存在,创建新文件. 所以写入 ...

  8. Python 文件操作函数

    这个博客是 Building powerful image classification models using very little data 的前期准备,用于把图片数据按照教程指示放到规定的文 ...

  9. python文件I/O(转)

    Python 文件I/O 本章只讲述所有基本的的I/O函数,更多函数请参考Python标准文档. 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式.此函数把你 ...

随机推荐

  1. 2019-2020-1 20199304《Linux内核原理与分析》第八周作业

    第七章 Linux内核如何装载和启动一个可执行程序 一.知识点 1.ELF(Executable and Linkable Format)概述: "目标文件"指编译器生成的文件,& ...

  2. SpringBoot-自动配置原理(七)

    自动配置原理 本节内容分为三个部分 配置文件的写法 分析自动配置原理 @Conditional 一. 配置文件的写法 配置文件可以写什么? 是与/META-INF/spring.factories配置 ...

  3. 图形界面GUI

    JFrame jframe = new JFrame(); //创建一个窗口 jframe.setVisible(true) //设置窗口显示 jframe.setLocation() //设置窗口位 ...

  4. BZOJ1002 [FJOI2007]轮状病毒(最小生成树计数)

    Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 7125  Solved: 3878[Submit][Status][Discuss] Descripti ...

  5. LNMP架构的搭建

    第9章 LNMP架构的搭建 9.1 什么是LNMP 9.1.1 LNMP的组成 L                linux N                nginx:实现静态的服务处理 M    ...

  6. ARTS-S docker安装miniconda

    FROM centos:centos7.3.1611 MAINTAINER zhouyang3 <aaa@qq.com> WORKDIR /usr/local ADD ./ /usr/lo ...

  7. 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 ...

  8. CMFCPropertyGridCtrl的属性改变事件代码

    //用于区分Prop, 使用SetData, GetData方法 CMFCPropertyGridProperty* pProp1 = new CMFCPropertyGridProperty(str ...

  9. springboot自动装配(3)---条件注解@Conditional

    之前有说到springboot自动装配的时候,都是去寻找一个XXXAutoConfiguration的配置类,然而我们的springboot的spring.factories文件中有各种组件的自动装配 ...

  10. WMB Commands

    Check ports: mqsiprofile //Run this first mqsireportproperties MB8BROKER -e AddressSampleProvider -o ...