小编lig*_*ght的帖子

sys.stdin.readline()读取没有提示,返回'之间没有'

我有一个执行以下功能的函数(除其他外):

userinput = stdin.readline()
betAmount = int(userinput)
Run Code Online (Sandbox Code Playgroud)

应该将stdin的输入整数作为字符串并将其转换为整数.

但是,当我调用该函数时,它会返回一个换行符(它甚至不会等我输入任何内容).

在程序的早期,我得到了以下形式的一些输入:

stdin.read(1)
Run Code Online (Sandbox Code Playgroud)

捕获单个字符.

这可能与它有关吗?我是否以某种方式将换行符写入stdin的下一行?

我怎样才能解决这个问题?

python stdin python-3.x

16
推荐指数
2
解决办法
11万
查看次数

dart:web_gl:RENDER警告:绑定到纹理单元0的纹理不可渲染

我得到的错误[.WebGLRenderingContext]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering or is not 'texture complete',当我在dartium运行我的web应用程序.我一直在尝试解决这个问题两天,包括完全重写代码,但我不能隔离这个问题.

我认为问题在于这段代码.

  void main() {
  ...
    var texture = gl.createTexture();
    var image = new ImageElement();
    image.onLoad.listen((e) {
      gl.bindTexture(webGL.TEXTURE_2D, texture);
      gl.texImage2DImage(webGL.TEXTURE_2D, 0, webGL.RGBA, webGL.RGBA, 
                       webGL.UNSIGNED_BYTE, image);
      gl.texParameteri(webGL.TEXTURE_2D, webGL.TEXTURE_MAG_FILTER, webGL.NEAREST);
      gl.texParameteri(webGL.TEXTURE_2D, webGL.TEXTURE_MIN_FILTER, webGL.NEAREST);
      gl.bindTexture(webGL.TEXTURE_2D, null);
    });
    image.src = "tex.png";
  ...
  }
Run Code Online (Sandbox Code Playgroud)

tex.png是32x32

关于问题是什么的任何想法?

textures webgl dart

10
推荐指数
1
解决办法
3万
查看次数

如何在不断检查输入的同时运行后台程序 - 线程?

我有小型服务器和客户端Python脚本,客户端发送字符串,服务器响应相反.当客户端输入退出字符串时,客户端退出,然后服务器退出.

我希望服务器的"接收,反向,发送"过程在后台运行,同时程序不断检查stdin是否有退出字符串.

我尝试过使用threading但由于阻塞,许多套接字调用导致它无法正常工作.

这样你就可以了解我已经做过的事情.

server.py:

import socket
from time import sleep

sock = socket.socket()
sock.bind(("127.0.0.1",12346))
sock.listen(3)
print "Waiting on connection"
conn = sock.accept() 
print "Client connected"

while True:
    m = conn[0].recv(4096)
    if m == "exit":
        sleep(1)
        break
    else:
        conn[0].send(m[::-1])

sock.shutdown(socket.SHUT_RDWR)
sock.close()
Run Code Online (Sandbox Code Playgroud)

client.py:

import socket

sock = socket.socket()
sock.connect(("127.0.0.1",12346))

while True:
    s = raw_input("message: ")
    sock.send(s)

    if s == "exit":
        print "Quitting"
        break

    print sock.recv(4096)

sock.shutdown(socket.SHUT_RDWR)
sock.close()
Run Code Online (Sandbox Code Playgroud)

python sockets concurrency multithreading python-multithreading

6
推荐指数
1
解决办法
6552
查看次数