不幸的是raw_input没有做我需要它做的事情.我想要做的是获取totPrimes =我在提示符下键入的内容.如果我while count < totPrimes
用while count < 50
这个脚本替换工作.如果我在提示符下键入50,这个脚本不起作用,我担心raw_input不是我想要使用的函数吗?这是我的代码片段:
testNum = 3
div = 2
count = 1
totPrimes = raw_input("Please enter the primes: ")
while count < totPrimes :
while div <= testNum :
Run Code Online (Sandbox Code Playgroud) 我正在尝试学习asyncore模块.所以我决定开发一个聊天程序.我必须同时听网络和广播udp包.但问题是当用户键入消息时,用户无法看到其他用户发送的其他消息.我该怎么办?我的代码:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import asyncore
import socket
class Listener(asyncore.dispatcher):
def __init__(self, port):
asyncore.dispatcher.__init__(self)
self.port = port
self.create_socket(socket.AF_INET, socket.SOCK_DGRAM)
self.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
self.bind(('', self.port))
def handle_connect(self):
print "CONNECTED."
def handle_read(self):
data, addr = self.recvfrom(1024)
print str(addr) + " > " + data
def handle_write(self):
pass
class Sender(asyncore.dispatcher):
def __init__(self, port):
asyncore.dispatcher.__init__(self)
self.buffer = ""
self.port = port
self.create_socket(socket.AF_INET, socket.SOCK_DGRAM)
self.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
self.bind(('',0))
def handle_connect(self):
print "CONNECTED."
def handle_read(self):
pass
def handle_write(self):
if self.buffer != "":
sent …
Run Code Online (Sandbox Code Playgroud) 我有两个键盘连接到我的电脑上.普通的全尺寸键盘和数字键盘.我想"重新映射"数字小键盘上的按键,但只留下全键盘.因此,当用户按下"5"键上它会得到重新映射到"媒体播放"键,但如果同样的"5"按下了全键盘的键盘上,我会得到一个"5".本质上,我想将该单独的数字小键盘转换为媒体控制设备.
不幸的是,我不确定如何使这项工作.Windows的"原始输入"功能允许区分键盘,但只允许读取键 - 而不是重新映射键.键盘挂钩(低电平和高电平)可以重新映射击键,但它们不区分键盘.
我可以将两种方法组合起来吗?为此,我必须确保在键盘钩子开始之前处理原始输入消息.是这样吗?
另外,我读过Windows出于某种原因不允许在同一进程中使用Raw Input和Keyboard Hooks.我可以通过制作2个不同的进程来解决这个问题,但由于通信延迟而变得更加脆弱(键盘钩子在他们必须完成工作的时间非常有限).
这可行吗?
说我想这样使用raw_input
:
code = raw_input("Please enter your three-letter code or a blank line to quit: ")
下:
if __name__=="__main__":
Run Code Online (Sandbox Code Playgroud)
我怎样才能让它重复多次,而不是每次运行程序时都重复一次?
另一个问题是编写什么代码可以满足条件"或空行退出(程序)".
假设我需要raw_input
用wxPython对话框替换下面代码中的函数,该对话框要求用户输入并将值返回给程序:
...
x = raw_input("What's your name?")
print 'Your name was', x
...
Run Code Online (Sandbox Code Playgroud)
我只是在寻找一种简单的方法来做到这一点。谢谢
我在raw_input()提示符期间按下CTRL-C时尝试检测KeyboardInterrupt异常.通常,以下代码可以正常检测命令:
try:
input = raw_input("Input something: ")
except KeyboardInterrupt:
do_something()
Run Code Online (Sandbox Code Playgroud)
尝试拦截sys.stdin的输入时出现问题.在raw_input()和sys.stdin之间添加一些代码之后,CTRL-C命令现在导致两个例外:EOFError后面跟随KeyboardInterrupt一行或两行.这是用于测试的代码:
import sys
import traceback
class StdinReplacement(object):
def __init__(self):
self.stdin = sys.stdin
sys.stdin = self
def readline(self):
input = self.stdin.readline()
# here something could be done with input before returning it
return input
if __name__ == '__main__':
rep = StdinReplacement()
while True:
info = None
try:
try:
input = raw_input("Input something: ")
print input
except:
info = sys.exc_info()
print info
except:
print '\n'
print "0:", traceback.print_traceback(*info)
print "1:", traceback.print_exception(*sys.exc_info())
Run Code Online (Sandbox Code Playgroud)
这导致打印出以下内容: …
如何通过os.listdir
指定哪个目录来通过,只能将python带到输出目录raw_input
?
是)我有的:
file_to_search = raw_input("which file to search?\n>")
dirlist=[]
for filename in os.listdir(file_to_search):
if os.path.isdir(filename) == True:
dirlist.append(filename)
print dirlist
Run Code Online (Sandbox Code Playgroud)
现在,如果我输入(通过raw_input
)当前工作目录,这实际上是有效的.但是,如果我输入其他内容,列表将返回空.我试图划分并克服这个问题,但是每个代码片都按预期工作.
我正在尝试GetKeyNameText
使用原始输入给出的制作/扫描代码和扩展键标志获取按键的名称:
std::wstring GetKeyName(const RAWKEYBOARD& info)
{
WCHAR n[128];
const int l = GetKeyNameTextW((info.MakeCode << 16) | ((info.Flags & RI_KEY_E0) != 0 ? 1 << 24 : 0), n, ARRAYSIZE(n));
if(l == 0) { return L""; }
return std::wstring(n);
}
Run Code Online (Sandbox Code Playgroud)
这对大多数键都很有效,但是,Num /(扫描代码 53)和Num *(扫描代码 55)给出了错误的结果:它们都给出了字符串“(ZEHNERTASTATUR)”(德语键盘布局,英语中的“Num”也是如此) – 所以的/
或*
丢失的名字。
我已经用两个不同的键盘对此进行了测试,结果相同(使用 Windows 10 顺便说一句),我错过了什么吗?为什么这两个键没有正确的名称?
我目前使用 RawInput 来获取鼠标输入,但它似乎没有检测到超过 3 个按钮。它说它也支持 X1 和 X2,但我的鼠标似乎都没有触发它们。我环顾四周,但在谷歌上没有找到任何关于如何使用所有其他鼠标按钮的信息。如果可能的话,我想找到一些东西,比如 RawInput,可以区分多个鼠标。看来我必须将 rawinput 与 HID 设置一起使用,但我不知道是否有一个标准的多鼠标按钮 HID 我可以读取或任何东西
我有以下Node.js代码行为奇怪:
#!/usr/bin/env node
"use strict";
var readline = require('readline');
var rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
function input(prompt) {
rl.question(prompt, function (x) {
rl.close();
console.log("debug: " + x);
return x;
});
}
function main() {
var n = input("Number: ");
// console.log("value: " + n); // problematic line
}
main();
Run Code Online (Sandbox Code Playgroud)
我想模仿Python raw_input
,即从用户那里读取一行.显示提示后,应阻止程序,直到用户按Enter键.
如果"有问题的行"在注释中,它可以工作,程序正在等待输入.但是,如果此行不在注释中,则程序不会等待输入并n
变为undefined
.为什么?如何编写一个返回用户输入的函数?