"robert mcquirt" <[email protected]> wrote
import os
os.system('file -b /home/robert/linuxlogotag')
This also works fine. The problem is that when I try to replace
the hard coded path/name with a string variable for looping,
the results are not the same as the shell's.
import os, glob
path = '/home/robert'
for infile in glob.glob( os.path.join(path, '*.*') ):
testCommand = "'file -b " + infile + "'"
print testCommand,
test = os.system(testCommand)
The problem is that the return code from os.system is the
exit code of the command being executed - usually 0 for
success or an error code. What you want is to actually
capture the output of the command. To do that you need
to look at the subprocess module which provides several
examples of what you want.
output is not the same as shell results. All files, regardless
of type, simply output the number 32512, with no description.
That is the exit code of the file -b command. You would
need to look at the file documentation to find out what
it signifies!
PS. You can also find some simple examples using
subprocess in the Using the OS topic of my tutorial.
HTH,
Alan G.
_______________________________________________
Tutor maillist - [email protected]
http://mail.python.org/mailman/listinfo/tutor