Hi Leam,
On 3 April 2014 15:24, leam hall <leamh...@gmail.com> wrote: > > I've been trying to so a simple "run a command and put the output into a > variable". Using Python 2.4 and 2.6 with no option to move. The go is to do > something like this: > > my_var = "ls -l my_file" > > So far the best I've seen is: > > line = os.popen('ls -l my_file', stdout=subprocess.PIPE, shell=True) > (out, err) = line.communicate() > > With no way to make 'my_file' a variable. If you use IPython, this can be as simple as the following (this is on windows, so 'ls -l' has been replaced by 'dir'): Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] Type "copyright", "credits" or "license" for more information. IPython 1.0.0 -- An enhanced Interactive Python. ? -> Introduction and overview of IPython's features. %quickref -> Quick reference. help -> Python's own help system. object? -> Details about 'object', use 'object??' for extra details. In [1]: my_file='virtualenv.exe' In [2]: my_var=!dir {my_file} In [3]: print my_var [' Volume in drive C has no label.', ' Volume Serial Number is E8D7-900D', '', ' Directory of C:\\Python27\\Scripts', '', '2011/06/24 11:12 7\xff168 virtualenv.exe', ' 1 File(s) 7\xff168 bytes', ' 0 Dir(s) 47\xff655\xff469\xff056 bytes free'] In [4]: Walter _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor