zoukankan      html  css  js  c++  java
  • python2.7 串口操作方式 编译 .py为windows可运行exe文件

    一 python操作串口

      首先下载安装串口模块pyserial 。

      代码实现:

      

    import serial
    
    ser = serial.Serial('/dev/ttyUSB2', 115200)
    print ser.portstr
    while True:
        str = ser.read(10)
        print str
        strInput = raw_input('enter some words:')  
        n = t.write(strInput)                                                                                                                                                                        
    
    此处的/dev/ttyUSB2 是针对linux的串口设备文件,windows 上能够是 com1,com2 等。


    二 使用py2exe 把py文件编译成exe可运行文件

    这个还是非常有必要的,特别是在没有安装python环境的机器上跑python程序。

    首先下载py2exe程序:点击打开链接

    如果如今有意个upsdaemon.py程序须要编译成exe文件,首先须要一个setup.py 文件:

    # setup.py
    from distutils.core import setup
    import py2exe
     
    setup(console=["upsdaemon.py"])
    而且须要和代码放在同一文件夹下。

    在cmd串口上运行:


    上面的命令运行后将产生一个名为dist的子文件夹:


    假设你的upsdaemon.py脚本中用了已编译的C扩展模块。那么这些模块也会被拷贝在个子文件夹中,相同,全部的dll文件在执行时都是须要的,除了系统的dll文件。
    dist子文件夹中的文件包括了你的程序所必须的东西,你应将这个子文件夹中的全部内容一起公布。


    默认情况下。py2exe在文件夹dist下创建下面这些必须的文件:

    1.一个或多个exe文件。


    2.python##.dll。


    3.几个.pyd文件。它们是已编译的扩展名。它们是exe文件所须要的;加上其他的.dll文件,这些.dll是.pyd所须要的。
    4.一个library.zip文件,它包括了已编译的纯的python模块如.pyc或.pyo


    上面的upsdaemon.py创建了一个控制台的upsdaemon.exe程序,假设你要创建一个图形用户界的程序。那么你仅仅须要将upsdaemon.py中的console=["upsdaemon.py"]替换为windows=["upsdaemon.py"]既可。

    py2exe一次可以创建多个exe文件,你须要将这些脚本文件的列表传递给console或windows的keyword參数。

    假设你有几个相关联的脚本,那么这是非常实用的。


    执行以下个命令,将显示py2exe命令的全部命令行标记。



    python upsdaemon.py py2exe --help


    三 创建相对路径的快捷方式

    因为可运行文件在dist文件夹下。运行起来不方便。创建一个快捷方式到dist的上一层文件夹非常有必要。可是快捷方式默认都是用绝对路径,复制到其它电脑上不一定可以运行。

    所以使用相对路径的方式。

    创建快捷方式到dist上一层文件夹,右击属性,改动目标为:

    %windir%system32cmd.exe /c start distupsdaemon.exe
    保存后双击快捷方式就可以运行。



  • 相关阅读:
    UVa 12174 (滑动窗口) Shuffle
    UVa 1607 (二分) Gates
    CodeForces ZeptoLab Code Rush 2015
    HDU 1525 (博弈) Euclid's Game
    HDU 2147 (博弈) kiki's game
    UVa 11093 Just Finish it up
    UVa 10954 (Huffman 优先队列) Add All
    CodeForces Round #298 Div.2
    UVa 12627 (递归 计数 找规律) Erratic Expansion
    UVa 714 (二分) Copying Books
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5170501.html
Copyright © 2011-2022 走看看