Warum ist Print (Zeile) in read_stdout jedes Zeichen anstelle der gesamten Zeile druckt? Ich gehe davon aus[code]plugin_test.py[/code]: [code]from subprocess import PIPE, Popen from threading import Thread from queue import Queue, Empty import re import os import sys
def read_stdout(stdout, data_q): for line in stdout.readline(): print(line) data_q.put(line) stdout.close()
try: startup = self.data_q.get(timeout=10) except Empty: print("Plugin took to long to load {}.".format(self.name)) self.stop() return False else: if 'Error' in startup: print("Could not load plugin {}. {}".format(self.name, startup)) self.stop() return False elif '100%' in startup: print("Plugin \"{}\" started.".format(self.name))
return True
def write(self, data : str) -> None: self.process.stdin.write(data) self.process.stdin.flush()
def read(self) -> str: try: data = self.data_q.get() print("Got data ::{}::".format(data)) except Exception as exc: print("Error reading data from plugin '{}'".format(exc))
if __name__ == '__main__': plugin = Plugin() plugin.run() < /code> test.py[/code]: [code]print("this is a test") print("this is a test2") print("100%") < /code> root@osboxes# python plugin_test.py
Ich bin neu in TPL und ich frage mich: Wie ist die asynchrone Programmierunterstützung, die neu zu C# 5.0 ist (über das neue Async und erwartet Keywords), die sich auf die Erstellung von Threads...
Wenn ich mein Programm ausführe, geben Sie ein Wort ein: und cin Anweisungen werden erst ausgeführt, bis ich ein neues Zeilenzeichen in der Konsole eingehe. #include
#include
using std::cout,...
Ich entwickle eine Website für Online-Bewertungstests und möchte Sicherheit bieten. Wenn der Benutzer den Browser minimiert oder einen neuen Tab öffnet, muss eine kontinuierliche Warnung angezeigt...
Ich entwickle eine Website für Online-Bewertungstests und möchte Sicherheit bieten. Wenn der Benutzer den Browser minimiert oder einen neuen Tab öffnet, muss eine kontinuierliche Warnung angezeigt...