首页 > 编程语言 >Python_Gooey和pyinstaller打造易用的工具

Python_Gooey和pyinstaller打造易用的工具

时间:2023-04-28 17:55:06浏览次数:44  
标签:word exp Python Gooey result file pyinstaller freq words

Python沟通

Python 搭建 GUI 界面时,首选Gooey ,然后 PyQt5 和 Tkinter, 
Pyinstaller
  : --paths 后接第三方模块的路径,多个路径直接用逗号分隔(英文逗号)
   -F 后接源文件路径
   使用-F,只生成一个大的可执行文件
   --clean 表示清理打包完成后的临时文件(可选,但建议写上)
  打包多个.py文件

    打包的py文件(并记录好文件路径),以及第三方库的路径
    
    我的源文件路径 D:\《Numpy数据处理详解》电子书\打包\pyinstaller学习.py
    
    我的用到的第三方库  C:\Users\huawei\AppData\Roaming\Python\Python39\site-packages\pandas,xlwings
     
    pyinstaller -F pyinstaller学习.py --paths C:\Users\huawei\AppData\Roaming\Python\Python39\site-packages\pandas,xlwings --clean

安装

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple Gooey
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyinstaller
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jieba

需求示例

功能:输入:文件地址,输出:显示词频最高的十个词语
       输入是GUI的形式
	      地址框,执行框
原理: 打包第三方库		

代码示例

#!/usr/bin/python3
# -*- coding: utf-8 -*- 

import jieba
from gooey import Gooey, GooeyParser
import argparse

def get_file_words(input_file):
    words =[]
    with open(input_file,mode="r",encoding="utf8") as fw:
        lines = fw.readlines()
        for line in lines:
            line = line.replace("\r","").replace("\r","").strip().replace(' ','')
            cut_word_list = jieba.cut(line,cut_all=False) 
            stopwords=[':','“','!','”',' ',',','、']
            for sig_word in cut_word_list:
                if sig_word not in stopwords:
                    words.append(sig_word)
    return words

def get_freq(words):
    # 统计每一个汉字的出现次数,使用字典的形式进行统计
    result = {}
    for word in words:
        res = result.get(word, 0)
        if res == 0:
            result[word] = 1
        else:
            result[word] = result[word] + 1

    result = sorted(result.items(),  key=lambda kv:(kv[1], kv[0]), reverse=True)
    return result
  
def regular_main():
    parser =  argparse.ArgumentParser(description="My Cool !")
    parser.add_argument('--filename', help="name of the file to process", default=r'D:\annotation\info.txt') 
    args = parser.parse_args() 
    exp_file_nm = args.filename
    exp_word = get_file_words(exp_file_nm)
    exp_freq = get_freq(exp_word)
    print(exp_freq[:5])

### 待完善
@Gooey(target="stat word freq")
def main():
    parser =  GooeyParser(description="My Cool !")
    parser.add_argument('filename',
                        metavar='Input file',
                        help='The file for which you want to static freq',
                        widget='FileChooser')
    args = parser.parse_args() 
    print(args)
    # exp_file_nm = str(args.filename)
    # print(exp_file_nm)
    # exp_word = get_file_words(exp_file_nm)
    # exp_freq = get_freq(exp_word)
    # print(exp_freq[:5]) 

if __name__ == '__main__':  
    #regular_main()
    main()

参考

Python的tkinter和pyinstaller打造易用的工具  https://www.cnblogs.com/ytwang/p/15111997.html

标签:word,exp,Python,Gooey,result,file,pyinstaller,freq,words
From: https://www.cnblogs.com/ytwang/p/17362855.html

相关文章

  • python用支持向量机回归(SVR)模型分析用电量预测电力消费|附代码数据
    全文链接:http://tecdat.cn/?p=23921最近我们被客户要求撰写关于SVR的研究报告,包括一些图形和统计输出。本文描述了训练支持向量回归模型的过程,该模型用于预测基于几个天气变量、一天中的某个小时、以及这一天是周末/假日/在家工作日还是普通工作日的用电量关于支持向量机的快速......
  • python学习——【第十九弹】
    前言从文章 python学习——【第十七弹】开始,我们开始进入python巩固篇,利用所学基础知识来做一个简单的学生信息管理系统,温故而知新。上篇文章python学习——【第十八弹】我们编写了学生信息管理系统的查询功能,这篇文章实现学生信息的删除功能。需求分析之前的学习我们了解了py......
  • 常见配置文件在Python中的使用
     配置文件主要为了存储常用的常量,如数据库的信息,通用的账号和密码等。常见的配置文件格式有ini,yaml,toml,json,env等,在做自动化测试的时候,它们都起什么样的作用?在什么样的场合下应用哪些配置文件? 一、ini配置文件简介:ini配置文件是最直接的配置文件,也是最简单的配置文件,将变量......
  • Python用RNN神经网络:LSTM、GRU、回归和ARIMA对COVID19新冠疫情人数时间序列预测|附代
    全文下载链接: http://tecdat.cn/?p=27042最近我们被客户要求撰写关于新冠疫情的研究报告,包括一些图形和统计输出。在本文中,该数据根据世界各国提供的新病例数据提供。获取时间序列数据df=pd.read_csv("C://global.csv")探索数据此表中的数据以累积的形式呈现,为了找出每天......
  • ubuntu18.04下 python虚拟环境安装
    #1.安装sudopipinstallvirtualenvsudopipinstallvirtualenvwrapper#2.很容易遇到的bug问题#安装完虚拟环境后,如果提示找不到mkvirtualenv命令,须配置环境变量#在这里配置环境变量时第2)步需要确定virtualenvwrapper的安装目录piplist#查看已安装的包pips......
  • Python中列表遍历使用range和enumerate的区别
    导读这篇文章主要介绍了Python中列表遍历使用range和enumerate的区别,在Python编程语言中,遍历list有range和enumerate方法,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下前言两者的比较只是编程实现上的差异,请不要......
  • python之cx_Oracle实现本地exe连接oracle数据库执行命令
    代码实现#-*-coding:GBK-*-importosimportcx_Oracle#导入cx_Oracle模块importtimedefgetData():conn=cx_Oracle.connect('username/password@ip:port/orcl')cur=conn.cursor()sql="SELECT*fromUSERwhereUSER_ID=\'......
  • python 编程规范有哪些?
    Python编程规范主要包括代码布局、命名规范、注释规范、函数编写规范等多个方面,下面给出一些常见的编程规范及其示例代码。1.代码布局规范代码布局规范主要是指代码的缩进、行宽、空行、换行等方面,下面是一些常见的代码布局规范:使用四个空格作为一个缩进级别,不要使用制表符......
  • 10分钟极速入门Python全栈应用开发
    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/dash-master1环境搭建dash应用作为Python项目,建议大家从一开始就养成好习惯,使用虚拟环境来构建我们的dash应用运行所需环境,以我最常用的conda为例,终端执行下列命令,创建名为dash-app-dev,Python版本为3.8的虚......
  • Python rangelib.RangeSet类代码示例
    https://vimsky.com/examples/detail/python-ex-rangelib-RangeSet---class.htmlPythonrangelib.RangeSet类代码示例本文整理汇总了Python中rangelib.RangeSet类的典型用法代码示例。如果您正苦于以下问题:PythonRangeSet类的具体用法?PythonRangeSet怎么用?PythonRangeSet使......