Il 31/12/2020 11:43, Petro ha scritto:
Hi.
I would like to make something like this:
A python script would run headlessly in the background.
I would like to control the script from the command line using other python
scripts or from the python shell.
From time to time I would ask the main script to create a popup window with an
image or a plot.
What would be the proper way to approach it. How to make communication between
two scripts?
Thank you.
Petro.
using named pipes would be an alternative. A small example that produces
an echo for windows. For linux it's simpler using os.mkfifo:
# ---------------------
import win32pipe as wp, win32file as wf
pfile = r'\\.\pipe\mypipe'
how = 0
data: bytes
while True:
pipe = wp.CreateNamedPipe(pfile, wp.PIPE_ACCESS_DUPLEX,
wp.PIPE_TYPE_BYTE | wp.PIPE_READMODE_BYTE
| wp.PIPE_WAIT,
wp.PIPE_UNLIMITED_INSTANCES, 0xffff,
0xffff, 0, None)
if pipe:
wp.ConnectNamedPipe(pipe, None)
while True:
try:
rv, data = wf.ReadFile(pipe, 1024)
except:
wf.CloseHandle(pipe)
break
else:
print(data.decode(), end='')
else:
break
# ---------------------
you can pass commands to it this way too:
$> echo "print log" > \\.\pipe\mypipe
--
https://mail.python.org/mailman/listinfo/python-list