zoukankan      html  css  js  c++  java
  • 使用wxPython制作GUI小工具

      我们项目客户端能看到的服务器列表由一个叫IPList.txt文本文件提供,每次启动客户端都会从CDN下载最新版本的IPList.txt。前两天运营同学那边提过来一个小工具需求,公测时对各个渠道需要提供不同的IPList.txt,如果临时加开新服或者修改老服状态(火爆/拥挤/顺畅),时间紧急手动修改容易出错,希望能有可视化工具修改。

      这项工作到我手上之后,大致思索了下,决定用Python实现。用Python写过一些小工具,但没有做过GUI,查了下资料,采用了推荐比较多的wxPython库。工具逻辑非常简单,只是修改txt文件而已,但前后也花了大半天的时间,一方面是代码摆控件花了不少时间(怀念MFC的拖控件。。。),另一方面也是在字符编码上遇到了一些问题。总结经验如下:

      使用Python读写有确定编码格式文件时, 一定使用codecs.open替代open。

      读出来的行使用line = line.replace(' ','')去掉换行符,等写之前再依次加上,最后一行不加,这样中间过程不用考虑换行符。

      wxPython的文件选择框返回的路径,如果是磁盘根目录,不会有’’分隔符,即打开D盘根目录下IPList.txt文件,返回的是”D:List.txt”,如果打开D盘下Test目录下IPList.txt文件,则返回的是”D:TestIPList.txt”。感觉像是Bug,但现状就是需要手动处理,不然保存时会找不到文件。

     

      整体来讲,使用wxPytho开发GUI程序过程令人满意,工具截图如下:

      

      代码:https://github.com/gns333/IPListTool

  • 相关阅读:
    uva 11294 Wedding
    uvalive 4452 The Ministers’ Major Mess
    uvalive 3211 Now Or Later
    uvalive 3713 Astronauts
    uvalive 4288 Cat Vs. Dog
    uvalive 3276 The Great Wall Game
    uva 1411 Ants
    uva 11383 Golden Tiger Claw
    uva 11419 SAM I AM
    uvalive 3415 Guardian Of Decency
  • 原文地址:https://www.cnblogs.com/gns3/p/4038817.html
Copyright © 2011-2022 走看看