python写的压缩软件
import tkinter
import tkinter.filedialog
import os
import zipfile
import tkinter.messagebox #创建住窗口
root = tkinter.Tk()
root.minsize(700,500)
root.title('xx的压缩软件')
root['bg'] = '#303030' #声明一个全局变量files
files = ()
#声明lable的使用变量
filenames = tkinter.StringVar()
#1.选取文件操作
def selecfiles():
#声明全局变量
global files
#使用文件对话框选择文件
files = tkinter.filedialog.askopenfilenames(title = '选择你要要做的软件bitch')
#显示选中文件的信息
#临时的路径容器
tmpfiles = []
for i in files:
if len(i) > 60:
i = i[0:20] + '...' + i[-15:]
tmpfiles.append(i)
filestr = '\n'.join(tmpfiles)
print(filestr)
filenames.set(filestr) #在标签中显示文件名称 #2.压缩文件函数
def zipfiles():
global files
#获取压缩文件的路径
filename = tkinter.filedialog.asksaveasfilename(title = '保存文件',filetypes = (('zip 文件','*.zip'),('所有文件','*.*')))
#新建压缩文件
zp = zipfile.ZipFile(filename +'.zip','a') #压缩文件默认zip格式
#添加要压缩的文件(遍历操作
for onefiles in files:
zp.write(onefiles,os.path.basename(onefiles))
zp.close()#创建完成
#提示用户压缩路径
tkinter.messagebox.showinfo(title = '操作结果',message = '压缩成功:' + filename) #3.解压操作函数
def uncompress():
global files # 使用文件对话框选择文件
files = tkinter.filedialog.askopenfilenames(title='选择你要要做的软件bitch')
# 显示选中文件的信息
# 临时的路径容器
tmpfiles = []
for i in files:
if len(i) > 60:
i = i[0:20] + '...' + i[-15:]
tmpfiles.append(i)
filestr = '\n'.join(tmpfiles)
print(filestr)
filenames.set(filestr) zp = zipfile.ZipFile(filestr, 'r')
# 添加要压缩的文件(遍历操作
#for onefiles in files:
files1 = tkinter.filedialog.askdirectory(title = '选择您要解压的路径')
zp.extractall(files1)
zp.close() # 解压完成
#提示用户压缩路径
tkinter.messagebox.showinfo(title = '操作结果',message = '解压成功:'+ files1) #界面布局
#菜单栏
allmenu = tkinter.Menu(root,bg = 'black') filmenu = tkinter.Menu(allmenu,tearoff = 0)
filmenu.add_command(label = '打开')
filmenu.add_command(label = '保存')
filmenu.add_separator()
filmenu.add_command(label = '设置')
filmenu.add_command(label = '退出') filmenu1 = tkinter.Menu(allmenu,tearoff = 0)
filmenu1.add_command(label = '打开')
filmenu1.add_command(label = '保存')
filmenu1.add_separator()
filmenu1.add_command(label = '设置')
filmenu1.add_command(label = '退出') allmenu.add_cascade(label = '文件',menu = filmenu)
allmenu.add_cascade(label = '编辑',menu = filmenu1)
allmenu.add_cascade(label = '工具') root.config(menu = allmenu,bg = 'black') #添加按钮界面
label = tkinter.Label(root,bg = '#242424')
label.place(width = 700,height = 115)
#1.添加文件按钮
btnadd = tkinter.Button(root,text = '选择文件',bg = '#242424',bd = 0.5,fg = 'grey',command = selecfiles)
btnadd.place(x = 100,y = 70,width = '80',height = 30)
#2.压缩操作按钮
btnadd = tkinter.Button(root,text = '压缩文件',bg = '#242424',bd = 0.5,fg = 'grey',command = zipfiles)
btnadd.place(x = 300,y = 70,width = '80',height = 30)
#3.解压操作按钮
btnadd = tkinter.Button(root,text = '解压文件',bg = '#242424',bd = 0.5,fg = 'grey',command = uncompress)
btnadd.place(x = 500,y = 70,width = '80',height = 30) img1 = tkinter.PhotoImage(file = '1.gif')
labelg1 = tkinter.Label(root,image = img1)
labelg1.place(x = 115,y =15,width = 50,height = 50) img2 = tkinter.PhotoImage(file = '2.gif')
labelg2 = tkinter.Label(root,image = img2)
labelg2.place(x = 317,y =15,width = 50,height = 50) img3 = tkinter.PhotoImage(file = '1.gif')
labelg3 = tkinter.Label(root,image = img1)
labelg3.place(x = 515,y =15,width = 50,height = 50) #4显示信息的组件
label = tkinter.Label(root,bg = '#F2F2F2',textvariable = filenames,anchor = 'nw',justify = 'left')
label.place(x= 5,y = 115,width = '690',height = '370') root.mainloop()
python写的压缩软件的更多相关文章
- python 波波版压缩软件
#压缩软件 import os import zipfile import tkinter import tkinter.filedialog import tkinter.messagebox '' ...
- 如何用Python写一个计算器软件 附带效果图
该计算器使用Python tkinter模块开发 效果如下图 import tkinter #导入tkinter模块 root = tkinter.Tk() root.minsize(280,500 ...
- 用Python写一款属于自己的 简易zip压缩软件 附完成图(适合初学者)
一.软件描述 用Python tkinter模块写一款属于自己的压缩软件.zip文件格式是通用的文档压缩标准,在ziplib模块中,使用ZipFile来操作zip文件,具有功能:zip压缩功能,zip ...
- 用python写网路爬虫 PDF高清完整版免费下载 Python基础教程免费电子书 python入门书籍免费下载
<用python写网路爬虫PDF免费下载>PDF书籍下载 内容简介 作为一种便捷地收集网上信息并从中抽取出可用信息的方式,网络爬虫技术变得越来越有用.使用Python这样的简单编程语言,你 ...
- 用Python写一个简单的Web框架
一.概述 二.从demo_app开始 三.WSGI中的application 四.区分URL 五.重构 1.正则匹配URL 2.DRY 3.抽象出框架 六.参考 一.概述 在Python中,WSGI( ...
- 程序员带你十天快速入门Python,玩转电脑软件开发(四)
本系列文章立志于从一个已经习得一门编程语言的基础之上,全面介绍Python的相关开发过程和相关经验总结.本篇文章主要是基于上一篇的程序员带你十天快速入门Python,玩转电脑软件开发(三)的基础之上, ...
- 程序员带你十天快速入门Python,玩转电脑软件开发(二)
关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 如果你真想学习,请评论学过的每篇文章,记录学习的痕迹. 请把所有教程文章中所提及的代码,最少敲写三遍,达到 ...
- 程序员带你十天快速入门Python,玩转电脑软件开发(一)
关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 如果你真想学习,请评论学过的每篇文章,记录学习的痕迹. 请把所有教程文章中所提及的代码,最少敲写三遍,达到 ...
- 教你用python写:HDU刷题神器
声明:本文以学习为目的,请不要影响他人正常判题 HDU刷题神器,早已被前辈们做出来了,不过没有见过用python写的.大一的时候见识了学长写这个,当时还是一脸懵逼,只知道这玩意儿好屌-.时隔一年,决定 ...
随机推荐
- scrapy 爬取小说
QiushuSpider # -*- coding: utf-8 -*- import scrapy import time from qiushu.items import QiushuItem c ...
- Angular实现动态添加删除表单输入框功能
<div class="form-group form-group-sm" *ngFor="let i of login"> <label c ...
- Hbase的基本操作(CDH组件可用)
Habse创建一张表: 1,创建一个命名空间NameSpace(命名空间NameSpace指的是一个表的逻辑分组 ,同一分组中的各个表有类似的用途,相当于关系型数据库中的DataBase) ...
- python写注册
# coding = UTF-8 注释格式 import datetime 引用日期 today = datetime.datetime.today().strftime("%Y-%m-%d ...
- composer 镜像地址
composer config -g repo.packagist composer https://packagist.composer-proxy.orgcomposer config -g re ...
- 1. String可调用方法
class str(basestring): """ str(object='') -> string Return a nice string represent ...
- Node.js server-side javascript cpu占用高
也不知道微软咋想的,不搞死我们的电脑不罢休 https://developercommunity.visualstudio.com/content/problem/27033/nodejs-serve ...
- -bash: /etc/profile: line 11: syntax error near unexpected token `$'{\r''报错问题解决
在Linux系统配置Java环境变量之后执行 source /etc/profile指令报:-bash: /etc/profile: line 11: syntax error near unexpe ...
- Docker安装nexus
一.Nexus3安装 sudo docker search nexus sudo docker pull sonatype/nexus3 sudo docker images sudo docker ...
- java画按钮的边框
import javax.swing.*;import java.awt.*;public class demo_4{ public static void main(String [] arg ...