indentation error
Steven D'Aprano
steve at REMOVE-THIS-cybersource.com.au
Fri Mar 5 06:48:35 EST 2010
On Fri, 05 Mar 2010 00:04:13 -0800, asit wrote:
> Consider the following code
[snip]
> According to me, indentation is ok. but the python interpreter gives an
> indentation error
You can trust the interpreter. There *is* an indentation error. Most
likely you have mixed spaces and tabs. Try:
python -t -t search.py
instead. (Yes, -t twice.)
On an unrelated note, your code snippet shows a very poor coding style.
Firstly, bare "except" clauses are VERY bad practice: it will mask bugs
in your code. Secondly, you should wrap the smallest amount of code in
the try block as you need.
Something like this is probably better:
pattern = raw_input("Enter the file pattern to search for :\n")
commandString = "find " + pattern
commandOutput = commands.getoutput(commandString)
findResults = string.split(commandOutput, "\n")
print "Files : "
print commandOutput
print "============================="
for file in findResults:
try:
mode = stat.S_IMODE(os.lstat(file)[stat.ST_MODE])
except (IOError, OSError):
# Print a useless error message so your users will hate you.
print "There was a problem with %s" % file
continue
print "\nPermissions for file", file, ":"
for level in "USR", "GRP", "OTH":
for perm in "R", "W", "X":
if mode & getattr(stat,"S_I"+perm+level):
print level, " has ", perm, " permission"
else:
print level, " does NOT have ", perm, "permission"
--
Steven
More information about the Python-list
mailing list