Hi, Jeff Shanon, thanks for your help. I was wondering if there was a function to automatically get the user on a *nix system, and had tried the if __name__ == __main__ but didn't really get it until your example. The only thing I'm not clear about is how 'trashcan' can be a local variable inside main() when it's required by both trash() and can()
The only thing that's missing is that this script can't handle paths like ~/dir/junkthis Would a regular expression be the best way of finding the last / followed by some text to be able to chdir to junk files from another location? #!/usr/local/bin/python import os.path from os import mkdir, remove from sys import argv from shutil import rmtree trashcan = os.path.expanduser("~/.trashcan") def main(junk): empty = False if "-e" in junk: empty = True junk.remove("-e") if not os.path.exists(trashcan): os.mkdir(trashcan) if len(junk) > 0: trash(junk) if empty: can() def trash(junk): for i in junk: toss = trashcan + "/" + i if os.path.exists(toss): if os.path.isdir(toss): rmtree(toss) if os.path.isfile(toss): os.remove(toss) os.rename(i, toss) def can(): for j in os.listdir(trashcan): toss = trashcan + "/" + j if os.path.isdir(toss): rmtree(toss) if os.path.isfile(toss): os.remove(toss) if __name__ == '__main__': main(argv[1:]) _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor