Re: [Python] eseguire file o processo separato.

2012-07-22 Per discussione Marco Beri
2012/7/22 Matteo Perini 

> Con subprocess (non sono riuscito con nient'altro


Hai provato a guardare il modulo multiprocessing?
http://docs.python.org/release/2.6.8/library/multiprocessing.html

Ciao.
Marco.

-- 
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] eseguire file o processo separato.

2012-07-22 Per discussione Matteo Perini

ciao a tutti
la situazione è questa:
Mando in esecuzione il file task1 che riporto.

import subprocess
import time
import os
for i in range(110):
print i
if i==10:
os.system('touch .lock')
time.sleep(0.1)
subprocess.Popen('./task2.py')
if i==90:
os.system('rm .lock')
time.sleep(0.1)

Con subprocess (non sono riuscito con nient'altro se avete 
suggerimenti sono tutt'orecchi) riesco a lanciare il secondo script in 
parallelo al primo ma non mi sembra una cosa molto elegante soprattutto 
perchè vado a controllare la fine del secondo script cancellando un file 
(.lock).


il secondo script (task2.py) è questo:

#!/usr/bin/python
import time
a=True
d=open('data.txt','w')
x=1
while a:
try:
open('.lock')
print x
d.write("%i\n"%(x))
x+=1
time.sleep(0.05)
except:
a=False
d.close()

Vorrei imparare e non riesco a trovare altre soluzioni...
Forse ho migliorato un po' la situazione usando i thread ma non vorrei 
creare pasticci.

Voi cosa ne pensate? come posso migliorare?
Il tutto dovrà essere integrato dentro la classe dell'interfaccia (gtk)
Questo il codice della prova con thread.

from threading import Thread
import time
import os
class task2(Thread):
def __init__ (self):
Thread.__init__(self)
def run(self):
print "run"
subprocess.Popen("./task2.py")
for i in range(110):
print i
if i==10:
os.system('touch .lock')
t2=task2()
t2.run()
if i==50:
os.system('rm .lock')

Rimane sempre il problema del file (.lock) per chiudere il subprocess.


Qualsiasi consiglio è gradito.
Ciao
Matteo P
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python