indentation error

Steven D'Aprano steve at REMOVE-THIS-cybersource.com.au
Fri Mar 5 06:48:35 EST 2010


On 2010年3月05日 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

AltStyle によって変換されたページ (->オリジナル) /