我刚安装的Python模块:construct并statlib用setuptools这样的:
# Install setuptools to be able to download the following
sudo apt-get install python-setuptools
# Install statlib for lightweight statistical tools
sudo easy_install statlib
# Install construct for packing/unpacking binary data
sudo easy_install construct
Run Code Online (Sandbox Code Playgroud)
我希望能够(以编程方式)检查他们的版本.是否python --version可以从命令行运行?
我的python版本是2.7.3.
我想在python中从键盘读取数据
我试试这个:
nb = input('Choose a number')
print ('Number%s \n' % (nb))
Run Code Online (Sandbox Code Playgroud)
但它不起作用,既不是日食也不是终端,它总是停止问题.我可以输入一个数字,但没有任何事情发生.
你知道为什么吗?
我正在尝试编写一个python类,利用并行处理/线程来读取两个串行端口(/ dev/ttyS1和/ dev/ttyS2).这两个端口都以19200波特率运行并且一直处于活动状态.我为此目的使用了pySerial.
两个读操作都需要连续并同时运行.我想知道是否应该使用线程库或线程库或多处理库.我只是担心因为全局解释器锁不能为重型IO操作提供真正的线程处理能力.但是如果全局解释器锁不影响我,那么我将使用线程/线程模块.但是,如果确实如此,那么我需要交叉编译python多处理库,因为这是在嵌入式系统上.
所以我的代码通常会有thread1或process1 =读取ttyS1并在读取行上执行一些字符串操作后写入缓冲区.thread2或process2 =读取ttyS2并在读取行上执行某些字符串操作后写入另一个缓冲区.其他功能等这些缓冲区进一步被代码中的其他部分使用.
python中的多处理还需要多个内核/ cpus吗?
谢谢阅读!
我正在尝试使用 Python 2.7 和 PySerial 同时读取多个串行端口。
特点应该是:
最大的问题是:如何将串口对象传递给子进程?
或者:
是否存在另一种(也许更好)的解决方案?(也许是这样:如何将扭曲的串行端口应用于我的问题?)
我想我并不完全清楚我想要实现什么。
我想同时读取2个或更多串口。由于超时和读出时间的原因,不可能在一个进程中同时读出它们。
下面的方法
ser1 = serial.Serial(port="COM1",baudrate=9600)
ser2 = serial.Serial(port="COM2",baudrate=9600)
ser1.write('command for reading out device 1')
output1 = ser1.readline()
ser2.write('command for reading out device 2')
# now you have to wait at least 100ms for device 2 to respond
output2 = ser2.readline()
Run Code Online (Sandbox Code Playgroud)
不能满足我的需求。
另一种方法是并行化子进程中的串行读取。
import serial # serial communication
from subprocess import Popen, PIPE
ports = ["COM1", "COM2"]
for port in ports:
ser = serial.Serial() …Run Code Online (Sandbox Code Playgroud) python serialization serial-port nonblocking python-multiprocessing