gpt4 book ai didi

Python 无需输入即可运行 Shell

转载 作者:太空宇宙 更新时间:2023-11-03 16:41:15 26 4
gpt4 key购买 nike

这是我在 stackoverflow 上发表的第一篇文章,所以如果我没有遵循正确的礼仪,请告诉我。

我也是Python新手,想将其合并到一个项目中。我目前拥有 Emotiv EEG 耳机,并希望根据大脑信号运行自制 3D 打印机。为此,EmoKey 2.0.0.20 读取 EEG 耳机(参见附图),EmoKey 然后将击键发送到 Python Shell,Python 对此进行解释并通过 COM 端口将命令发送到我的 Arduino 运行打印机。这似乎是一种间接的做事方式,但除了一个问题之外,它确实有效。让我们假装我认为左边,这被发送到 EmoKey,输入“L”并按 Enter 键进入 Python Shell。理论上,这会将打印机头向左移动。但是,当 EmoKey 发送 Enter 时,它只会在 Shell 中创建一个新行,而不会实际执行。然后我必须手动按回车键,这就破坏了整个要点。

.getch() 不起作用,因为我认为没有实际的击键可以读取。下面的链接似乎也很有用,但到目前为止还没有起作用。

How to run a shell script without having to press enter/confirm s.th. inbetween

我的问题是:当只编写 L 或 R 之类的内容时,如何让 Python 执行 shell 中编写的内容?我不认为我可以让它等待击键,Python 必须等待并在看到特定命令时自动执行。

我知道这可能看起来像是下面链接的重复。然而,到目前为止,.getch 还没有与 EmoKey 一起使用(也许这只是我的一个错误)。另外,我不想找到一种方法让我的 Python 脚本读取放入 shell 中的内容。尽管为了简化和原型(prototype)设计,我仅使用“L”和“R”命令开始了这个项目,但我将转而使用 G 代码,以便可以与其他打印机或 CNC 设备进行通信。这是 .getch 在我的情况下不起作用的另一个原因,因为它只抓取单个字符(单个 G 代码命令将有几个字符长)。 Python read a single character from the user

我使用的是 Windows 10 和 Python 2.7.11。

import serial

ser = 0

def init_serial():
COMNUM = 3 #Enter Your COM Port Number Here.
global ser #Must be declared in Each Function
ser = serial.Serial()
ser.baudrate = 9600
ser.port = COMNUM - 1 #COM Port Name Start from 0

#ser.port = '/dev/ttyUSB0'

#Specify the TimeOut in seconds, so that SerialPort
#Doesn't hangs
ser.timeout = 10
ser.open() #Opens SerialPort

# print port open or closed
if ser.isOpen():
print 'Open:' + ser.portstr

init_serial()

while 1:
temp = raw_input('Send command + Enter:\r\n')
ser.write(temp) #Writes to the SerialPort

#bytes = ser.readline() #Read from Serial Port
#print 'Response: ' + bytes #Print What is Read from Port

EmoKey Interface

最佳答案

我认为您正在寻找类似 readchar 的内容:

import readchar
ch = readchar.readkey()

关于Python 无需输入即可运行 Shell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36759447/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com