所以我raw_input
作为一些列表的输入.
x= raw_input()
Run Code Online (Sandbox Code Playgroud)
我输入的地方1 2 3 4
如果我只输入数字,我将如何将其转换为整数列表?
我试图让用户使用raw_input()在控制台上输入命令,这很好用.问题是我有后台线程偶尔会将日志信息输出到屏幕上,当它们发生时它们会搞砸输入提示(因为输出会转到光标恰好在哪里).
这是一个小Python程序,说明了我的意思.
#!/usr/bin/env python
import threading
import time
def message_loop():
while True:
time.sleep(1)
print "Hello World"
thread = threading.Thread(target = message_loop)
thread.start()
while True:
input = raw_input("Prompt> ")
print "You typed", input
Run Code Online (Sandbox Code Playgroud)
这是我运行它时的样子:
Prompt> Hello World
Hello World
Hello World
Hello World
test
You typed test
Prompt> Hello World
Hello World
Hello World
hellHello World
o
You typed hello
Prompt> Hello World
Hello World
Hello World
Hello World
Run Code Online (Sandbox Code Playgroud)
我想要的是提示与线程的输出一起移动.像这样:
Hello World
Hello World
Prompt> test
You typed test
Hello World …
Run Code Online (Sandbox Code Playgroud) 下面是我尝试用来将目录路径作为用户的"原始输入"的代码片段.从用户输入后,我收到以下错误:
Traceback (most recent call last):
File "C:\Users\larece.johnson\Desktop\Python Programs\Hello World 2", line 14, in <module>
f = open(str,"r+") #I open the text file here which the user gave me
IOError: [Errno 2] No such file or directory: 'C:/Users/larece.johnson/Desktop/Python Programs/BostonLog.log.2014-04-01'
Run Code Online (Sandbox Code Playgroud)
忽略我在下面所做的,是否有一种特殊的方式我应该从用户那里获取路径,以便Python接受它?
例如,我正在寻找的目录和文件是
C:/Users/larece.johnson/Desktop/Python Programs/BostonLog.log.2014-04-01
Run Code Online (Sandbox Code Playgroud)
import re #this library is used so that I can use the "search" function
import os #this is needed for using directory paths and manipulating them
str ="" #initializing string variable for raw data input
#print os.getcwd() …
Run Code Online (Sandbox Code Playgroud) 如果没有正确满足条件,如何让Python移动到if语句的顶部.
我有一个基本的if/else语句,如下所示:
print "pick a number, 1 or 2"
a = int(raw_input("> ")
if a == 1:
print "this"
if a == 2:
print "that"
else:
print "you have made an invalid choice, try again."
Run Code Online (Sandbox Code Playgroud)
我想要的是提示用户为这个if语句做出另一个选择,而不必重新启动整个程序,但我对Python很新,并且无法在任何地方在线找到答案.
我们有一个3米的微触摸显示屏.它通过usb与我的debian系统相连,并被认为是人机界面(hid).我正在尝试访问并推送实时信息......如果它被触及我想知道哪里(x,y)并将它通过netcat传递给另一台主机.
不幸的是,我只能使用原始数据
cat /dev/input/event2 | hexdump
Run Code Online (Sandbox Code Playgroud)
要么
evtest
你得到的hexcode似乎没有记录......
有人知道如何获取这些信息吗?必须有一种从十六进制代码中提取它的方法.不幸的是我不知道如何解释hexcode.我找不到其记录的任何来源......
有没有办法让内核能够实时提供我想要的信息?作为一个解决方案,可能有一个X-Server可以告诉我的解决方案?触摸屏的行为类似于X中的鼠标.我实际上已经尝试通过xlib获取鼠标的x,y位置.但它太慢了,不会告诉我是否有人在接触......
提前致谢!
evtest样本输出:
Event: time 1425319271.595631, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 51
Event: time 1425319271.595631, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 10304
Event: time 1425319271.595631, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 30629
Event: time 1425319271.595631, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 893
Event: time 1425319271.595631, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 414
Event: time 1425319271.595631, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: …
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个循环python函数,它执行任务并提示用户进行响应,如果用户在给定时间内没有响应,则序列将重复.
这是基于这个问题:如何设置raw_input的时间限制
任务由...表示some_function()
.超时是一个变量,以秒为单位.我有以下代码的两个问题:
无论用户是否提示,raw_input提示在指定的4秒时间后都不会超时.
当输入'q'的raw_input时(没有'',因为我知道键入的任何内容会自动输入为字符串),该函数不会退出循环.
`
import thread
import threading
from time import sleep
def raw_input_with_timeout():
prompt = "Hello is it me you're looking for?"
timeout = 4
astring = None
some_function()
timer = threading.Timer(timeout, thread.interrupt_main)
try:
timer.start()
astring = raw_input(prompt)
except KeyboardInterrupt:
pass
timer.cancel()
if astring.lower() != 'q':
raw_input_with_timeout()
else:
print "goodbye"
Run Code Online (Sandbox Code Playgroud)
`
有没有办法忽略通过raw_input输入的数据中的换行符?我正在尝试使用raw_input输入从电子表格中复制和粘贴的字符串列表.问题是看起来新行字符会导致数据过早输入.无论如何,所有空白空间都将被剥离,因此在输入数据时删除换行符将是一个额外的好处.此数据需要通过终端提示直接输入,而不是从文件中读取.
这是我到目前为止所做的:
names = raw_input('Shoot me some names partner: ')
print 'What do you want to do?'
print '1 - format names for program 1'
print '2 - format names for program 2'
first_act = raw_input('Enter choice: ')
print names
print first_act
Run Code Online (Sandbox Code Playgroud)
现在,当我运行这个并输入虚拟名称时,我将其放入google doc电子表格进行测试,一旦我按下shift + ctl + v,没有按Enter键,我得到这个:
seth@linux-1337:~> python pythonproj/names.py
Shoot me some names partner: abcd,efg,hijkl,mnop
abcd,efg,hijkl,mnop
abcd,efg,hijkl,mnop
abcd,efg,hijkl,mnop
abcd,efg,hijkl,mnop
abcd,efg,hijkl,mnop
abcd,efg,hijkl,mnop
abcd,efg,hijkl,mnopWhat do you want to do?
1 - format names for program 1
2 - format names …
Run Code Online (Sandbox Code Playgroud) 我需要类似的东西raw_input
,但不显示您正在输入的文本。我也试过getpass
,但它仍然显示我刚刚输入的内容。
虽然我非常喜欢python,但是当我需要在同一行中获得多个整数输入时,我更喜欢C/C++.如果我使用python,我使用:
a = map(int, raw_input().split())
Run Code Online (Sandbox Code Playgroud)
这是唯一的方式还是有任何pythonic方式来做到这一点?考虑到时间,这会花费多少?
我试图用星号掩盖用户输入IDLE的内容,这样他们周围的人就无法看到他们输入/输入的内容.我正在使用基本的原始输入来收集他们输入的内容.
key = raw_input('Password :: ')
Run Code Online (Sandbox Code Playgroud)
用户输入密码后理想的IDLE提示:
Password :: **********
Run Code Online (Sandbox Code Playgroud) raw-input ×10
python ×9
python-2.7 ×2
driver ×1
if-statement ×1
linux ×1
linux-kernel ×1
list ×1
map ×1
masking ×1
passwords ×1
touchscreen ×1