现在我正在使用Arduino将数据从模拟传感器发送到COM4.我正在尝试制作一个python脚本,持续监视该数据并查找某个参数.
我试过这样的事情,但它并没有正确提醒我
import serial
from Tkinter import *
import tkMessageBox
port = "COM4"
ser = serial.Serial(port,9600)
value = 0
while 1:
value = ser.read()
if value > 400:
tkMessageBox.showwarning(
"Open file",)
time.sleep(1)
Run Code Online (Sandbox Code Playgroud) 我想制作这样的程序,它从字符串中读取字符并在一段延迟后打印每个字符,所以它看起来像打字效果.
现在我的问题是睡眠功能不正常.长时间拖延后打印整句.
import sys
from time import sleep
words = "This is just a test :P"
for char in words:
sleep(0.5)
sys.stdout.write(char)
Run Code Online (Sandbox Code Playgroud)
我使用"sys.stdout.write"来删除字符之间的空格.
我正在尝试这个功能:
def sleep(sec):
for i in range(sec):
print(".", end=" ");
time.sleep(1);
Run Code Online (Sandbox Code Playgroud)
问题是它等待for循环完成然后打印所有内容.如果我使用普通打印\n到最后一切都按预期工作.但是,结果=""它没有.
我试图通过在同一行上每秒打印一个点来创建类似进度的东西.像"钓鱼......"之类的东西.这是我用过的:
import time
print('Fishing', end='')
for i in range(5):
time.sleep(1)
print('.', end='')
Run Code Online (Sandbox Code Playgroud)
但它会等待5秒钟并立即打印Fishing.....所有内容.但是当我不使用时end='',它每秒打印一次点,但是在这样的单独行上
Fishing.
.
.
.
.
Run Code Online (Sandbox Code Playgroud)
print这样做?所以我在使用Python时遇到了一些麻烦.我有一个代码是:
import time
def printChat(string, sleepTime):
for a in string:
print (a, end="")
time.sleep(sleepTime)
print()
Run Code Online (Sandbox Code Playgroud)
当我做printChat("Hello",0.1)时,它应该打印一个字母并等待0.1秒,然后打印下一个,但相反,它等待0.5秒(因为' 你好 '是5个字符长),然后打印你好所有的突然.知道为什么会这样吗?
我正在为 Unity 游戏制作 Q-Learning 机器人,机器人使用 Python,游戏使用 C#,如何让两个程序交换任何类型的数据(即整数字符串数组等)?任何使 Python 和 C# for Unity 通信的方法都可以解决我的问题,我可以将任何内容集成到我的代码中。
编辑:另一个问题和我的一样,但答案并没有从 Python 方面解释要做什么。
我的 Python 版本是 3.6。
我有这个python程序:
import board
theBoard = board.Board()
theBoard.setup_new_game()
theBoard.display()
inputStr = raw_input('Enter move \"x y\":')
print inputStr
Run Code Online (Sandbox Code Playgroud)
Board是我写的一个类,它显示了一个奥赛罗板.当我运行该程序时,它立即停止并等待输入.当我输入内容并点击返回时,它会显示该板并在其下方显示输入提示.
我是否需要使用诅咒和东西才能使其正常运行,或者我只是缺少一些基本的东西?据我所知,这应该打印板,打印提示,然后等我输入.
这可能是一个非常简单的问题。我正在通过外壳程序脚本在Lubuntu OS(Cubietruck)上调用Python脚本。这是为了在启动时自动执行该过程(我想维护该过程)。有没有一种简单的方法可以查看Python的输出?目前,Python脚本在后台运行,没有终端。我有一些错误需要检查。脚本是:
#!/bin/sh
python recordSound.py
Run Code Online (Sandbox Code Playgroud)
提前致谢。
print 'foo',
time.sleep(1)
print 'bar'
Run Code Online (Sandbox Code Playgroud)
这似乎先运行time.sleep(1),然后"foo bar"一次打印.
但是,打印两者foo并bar在其自己的行上打印会在打印语句之间产生预期的延迟:
print 'foo'
time.sleep(1)
print 'bar'
Run Code Online (Sandbox Code Playgroud)
是否有东西堆叠所有打印语句,直到收到新的行字符?
printPython 3 中的函数可能会收到一个布尔值来判断是否立即刷新:
print("foobar", flush=True)
Run Code Online (Sandbox Code Playgroud)
我希望print默认情况下为它打印的所有内容都设置刷新功能,这可能吗?变通方法、临时设置,等等。