File list from listdir or shell?

Q

qwweeeit

Hi all,
to obtain a file list from a dir you can use:
import os, sys
try:
.. sExtension=sys.argv[1]
.. sPath=sys.argv[2]
except:
.. sExtension=""
.. sPath='.'
lF=os.listdir(sPath)
# to remove from the list also the names of backup files
lF=filter(lambda lF: '~' not in lF and sExtension in lF,lF)

Running this small script you obtain the file list (based on a given
extension)
from a dir (sPath).
My question is: is there another better way? or can we use the
sys.stdin to capture
the stdout of a shell command?
Examples of single line shell commands could be:
ls -1 *.py (for the filenames only) or
find ~/ -name '*.py' (to get path+filename of all my root dir)

Unluckily, to capture the stdout I have to redirect it to a file...
I hoped that this could work ...
lF=sys.stdin.readline(os.system("ls -1 *.py"))
Bye.
 
T

Thomas Guettler

Am Thu, 26 May 2005 06:31:40 -0700 schrieb qwweeeit:

Hi,
ls -1 *.py (for the filenames only) or

This can be done with the module "glob" of the standard library.

HTH,
Thomas
 
F

Fredrik Lundh

Unluckily, to capture the stdout I have to redirect it to a file...
I hoped that this could work ...
lF=sys.stdin.readline(os.system("ls -1 *.py"))

hint: look up "os.popen" and "subprocess" in the library reference.

</F>
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,240
Messages
2,571,208
Members
47,845
Latest member
vojosay

Latest Threads

Top