Python equivalent to @lines = 'command';

Tim Hammerquist tim at
Tue Dec 18 15:32:58 CET 2001

Christer Frovik <013-139047 at> graced us by uttering:
> Is is possible to spawn a command (any command not just ls) and
> have all the lines that the command outputs stored in a list?
> In PERL this is done quite nicely in a single statement:
>   @files = `ls -1`;
> and you can then iterate over @files and do whatever you want.
> Any ideas, or should i stick with Perl for my mindless scripts?

Not familiar with PERL, but I'm quite familiar with Perl.

You seem to be looking to pipe a command's output to a variable
(which is all Perl's backticks really do). Look at the os.popen family
of functions, in this case, os.popen()

    import os
    lines = os.popen('ls -1').readlines()
    for line in lines:


    import os
    pipe = os.popen('ls -1')
    for line in pipe.readlines():

Tim Hammerquist
As a computer, I find your faith in technology amusing.

More information about the Python-list mailing list