我目前有一个Twitter机器人在我的时间轴中从Twitter传输推文。无论它做什么,我怎么能在接收推文(循环代码)的同时发送推文(获取键盘输入)。
这不是关于Twitter API的问题,只是关于如何在循环代码时获取输入的一般性问题。
答案 0 :(得分:1)
我会为它创建一个特定的线程,当使用它时会调用你的Twitter API post函数。 (但这取决于你的代码的结构)
import threading
t1 = threading.Thread(target=post_from_keyboard)
t1.start()
t1.join()
# Loop exits when users writes quit.
# Obviously it won't post any Tweets with the word "quit"
def post_from_keyboard():
while(True):
kb_tweet = input("Enter Tweet or write "quit" to exit")
if kb_tweet != "quit"
your_tweet_api_call( kb_tweet )
else:
break
答案 1 :(得分:0)
据我所知,您不希望循环等待您在每次迭代中输入推文,因此您无法使用最常用的方法raw_input。
在这种情况下,它是特定于平台的。对于Unix系统,您应该使用select模块,而在Windows中,您拥有msvcrt模块。
使用select,想法是在每次迭代中检查stdin,并在得到消息时处理消息。
类似的东西:
import sys
import select
while True:
message = select.select([sys.stdin], [], [], timeout=0.1)[0]
if message:
print(message)
答案 2 :(得分:-1)
也许,你正在寻找像这样的东西
userInput = raw_input()
while(userInput != q):
#do something
userInput = raw_input()