File list from listdir or shell?

qwweeeit at yahoo.it qwweeeit at yahoo.it
Thu May 26 09:31:40 EDT 2005


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.




More information about the Python-list mailing list