python学习笔记之pyinstaller、tkinter、subprocess与win32api

python学习笔记之pyinstaller、tkinter、subprocess与win32api

首先用pyinstaller打包应用程序还是很爽的。但是随着使用深入,遇到一些问题。

tkinter设置窗口图标后产生的问题

root.iconbitmap('fullpath/myicon.ico')

如果设置了窗口图标的时候需要用绝对路径。否则打包之后会找不到图标文件。

使用subprocess模块,无法隐藏命令行窗口的问题

#subprocess可以很方便的执行shell命令,比如
import subprocess
child = subprocess.Popen(['ping','www.baidu.com'])

这里涉及的问题有两个。

一、打包文件无法隐藏命令行窗口

网上解决有很多解决方法,但试过后都没啥用。
https://github.com/pyinstaller/pyinstaller/wiki/Recipe-subprocess

二、子进程如果耗费时间比较长,主进程等不等的问题。

因为做的是窗口程序,这个子进程如果费时较长,对应的ui的主进程还要有相应的提示。好麻烦。

最后用win32api 替换一些 subprocess

用subprocess执行一些cmd命令,比如磁盘管理、文件管理,都可以用win32api来替代。
比如:获取逻辑磁盘的信息

import win32api
win32api.GetLogicalDriveStrings()
#获取磁盘类型
win32file.GetDriveType(‘D:\\’)

感觉可以挖掘挖掘。os和shutil可以满足很多需要,一些偏僻的东西win32api可以作为补充。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值