标签: Python

  • 使用Python自动化Windows界面操作

    要拷贝几百个文件到另一个目录,有重名现象,但是不想覆盖原有文件,在命令行下应该可以通过命令行开关来完成需求。

    但是已经开始拷贝,而且就想使用界面操作,怎么办?(太纠结了!)

    好在我们有Python可以使用。

    http://www.tizmoi.net/watsup/intro.html

    http://www.brunningonline.net/simon/blog/archives/winGuiAuto.py.html

    其主要设计思想就是使用Windows API找到特定窗口,然后发送键盘或者鼠标消息。

    watsup我使用Python2.6,然后安装了PyWin32,还有SendKeys库,最后下载watsup,解压到Python的lib目录即可。

    代码极为简单,我对winGuiAuto稍作修改,加了equalText参数,因为原来的wantedText使用的是(wantedText in targetWindows),只要有"No"在字符串里面就会返回,与我想达到的效果不太一样,当然也可以用selectionFunction加lambda完成,但不想费那劲了。

     1: from watsup.winGuiAuto import findControl, findTopWindow, clickButton

     2: from time import sleep

     3:  

     4: aWindow = findTopWindow(wantedText='Confirm File Replace')

     5: while aWindow:

     6: button = findControl(aWindow, equalText='No')

     7: sleep(0.1)

     8: clickButton(button)

     9: sleep(1)

     10: aWindow = findTopWindow(wantedText='Confirm File Replace')

    如果你使用Ruby,可以参考这篇,也是一样的使用相关Windows API。

    http://rubyonwindows.blogspot.com/2007/05/automating-applications-with-ruby.html

  • 大连Python用户组活动简记

    在王元毅(@yuanyi_wang)孜孜不倦的努力以及大连天维科技李丕总经理的大力赞助支持下,大连Python用户组终于在一个大雨滂沱的早晨成立了!

    大连这几天都是湿漉漉的,动辄就是下雨刮风。我从家里出来的时候还没有下雨,结果车坐到一半就开始大雨瓢泼,等到下车的时候,车站路边积了很深的水,只有趟着过才行。

    天维科技就在七贤岭车站边上的高层办公楼,16楼。我去的时候还不到九点(约定开会时间九点半),这一带高楼大厦那是多多,可就是没有买吃的地方,与其等着不如去买点吃的,就跑到黑石礁买了麦当劳早餐。结果雨越下越大,再回到天维科技办公楼的时候已经是九点五十,会议室里已经坐了不少朋友,扫一眼大概有八九个人。

    大家闲聊了一阵,然后元毅主持会议开始,首先是各自做自我介绍,除了twitter上的ouland、gamtin,其他朋友不是很熟悉。除了天维的李总,基本上都是搞程序开发的,还有几位朋友是做测试方面的工作。

    介绍完了各自情况,元毅做了一个对Python的简单介绍。然后我做了一个Lua的简单介绍以及代码简介。

    大家除了讨论Python的相关问题,也对天维公司www.5itvi.com非常感兴趣,我在李总作介绍的时候问了不少问题,主要是对他在贝尔实验室的经历非常感兴趣,要知道贝尔实验室那是牛人多多啊。

    最后李总给我们演示了天维媒体中心这个产品。这里要着重提一下,天维这个产品有些类似盛大以前的盒子,可以非常高效使用高速宽带,实现游戏、视频点播、高清播放甚至网络电话的这样一个平台。由于不知道产品细节适不适合在这里细说,就不多说我看到的演示过程,但是可以说这个产品是非常有意思的,就我个人而言,对其中网络电话这部分很感兴趣,遥控器可以作为网络电话的话筒。用一句话来说就是:我很有对这个产品的购买欲望。天维这个产品的界面以及服务器部分使用Python完成,就我所知是大连地区唯一一个使用Python做产品的公司。

    整个活动其实还是比较简单,没有其他地区用户组活动比较深入的讨论,这是很遗憾的事情,但是比较符合大连整个软件产业的现状。尽管官方大力吹捧大连是所谓的软件产业为主,个人觉得这里面水分太多,所谓的软件开发大部分是日韩或者欧美的外包业务,少有核心研发业务,而且官方几乎也没有组织过什么软件开发方面的论坛或者研讨会。唯一参加过的就是微软在大连的广告宣传(而且也挺水的)。我在讨论中也稍微有些激动的提到,对大连成立Python用户组那是期待已久,其实讨论Python也好,研究DotNet或者Java也罢,Topic是一部分,最重要的是大家有这样一个平台可以线下互相交流。Python大连用户组的成立填补了我这个遗憾,即使现在大家还没有什么深入的内容讨论,也许将来讨论的也未必高深到哪里,但是我真的很爱这种可以跟其他喜欢技术的朋友交流的感觉。