SunOS 5.10, Python 2.4/2.6 I ask forgiveness in advance as I cannot copy and paste into an email what I am doing on this system. So I will have to manually type things, introducing the usual possibility of typos.
My objective: Determine who the currently logged in user is and determine if that user is in my list of users that I have authorized to use my programs. I tried in the interpreter: ================================================================================================= py2> cmd = ['who', '-m'] py2> import subprocess as sp py2> p = sp.Popen(cmd, stdin=sp.PIPE, stdout=sp.PIPE, stderr=sp.PIPE) py2> out, err = p.communicate() py2> out '' py2> err "Must be attached to terminal for 'am I' option\n" py2> p = sp.Popen(cmd, shell=True, stdin=sp.PIPE, stdout=sp.PIPE, stderr=sp.PIPE) py2> out, err = p.communicate() py2> out 'rstepp ...' followed by all the other currently logged in users as if I had just typed 'who' in the terminal. ================================================================================================= What am I doing wrong? Why cannot I get the '-m' to be used? And is there an easier way to accomplish my objective? If I cannot work this out, then I will be forced to do: py2> import os py2> current_usr = os.popen('who -m') This should not be a security issue for me as no user input is involved. But I would rather use the subprocess module. TIA! -- boB _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor