norseman wrote:
[snip]
I have tried both and Popen2.popen2().
os.popen runs both way, contrary to docs.

# master.py
import os
#                both lines work same
#xx= os.popen("/mnt/mass/py/z6.py").readlines()
xx= os.popen("/mnt/mass/py/z6.py",'r',1).readlines()

readlines() returns only when all the lines have been read, which is
when the child quits and the pipe closes. Try reading only one line at a
time. When the pipe closes the readline() will return ''.

#                I had hoped small buffer would force a sync (flush())
#                No such luck.
for i in xx:
  print "\t"+i[:-1]

#"""
#                              end of file

The "\t" is to prove where the screen output came from.

========================================================
========================================================

 From Peter __pete...@web.de

Nonsense. The minimal Tkinter program is

from Tkinter import Tk
root = Tk()
root.mainloop()


Just to be clear, that's as much a minimal program as

[snip]
# child.py
import os
import sys
import array
from array import *
import Tkinter
from Tkinter import *
from Tkconstants import *
#
def AttPanel():

  def PlaceIt():
      sys.stdout.write( "Switching to ESRI for placement\n")
      sys.stdout.flush()
      sys.stdout.flush()

No need to flush twice in a row.


      #print "Switching to ESRI for placement"
      ##zatt= bl_x+bl_y+acrs+c1+c2[2:]+c3[2:]+'\n'
      zatt='123456\n'
      #print zatt
      sys.stdout.write(zatt)
      sys.stdout.flush()

      #set system variable to zatt
      root.withdraw()
      #root.iconify()
      while raw_input() != ' ':
        pass
      root.deiconify()

  def CRASH():
    print "\nCRASH Initiated\n"
    exit(1)
#
  root = Tk()

  LU = Frame(root)
  LU.pack(fill="both", expand=1)

  f1 = Frame(LU, relief = GROOVE, bd = 2)
  f1.grid(row = 0, column = 0)
  Button(f1, width= 45, state= DISABLED).grid(row= 0, column= 0)
  Button(f1, text= "Place Attribute", fg= "black", bg= "green",
         anchor= N, command = PlaceIt).grid(row = 0, column = 1)
  Button(f1, width= 45, state= DISABLED).grid(row= 0, column= 2)
  Button(f1, text= "Cancel Attributing", fg= "white", bg= "red",
         anchor= E, command= CRASH).grid(row = 0, column = 3)
  f1.pack()
  #
  root.mainloop()
#---------------#

if __name__ == "__main__":
  while TRUE:
    AttPanel()

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to