Am 05.02.2013 05:14, schrieb Anthony Correia:
I need to pick up a language that would cover the Linux platform.  I use 
Powershell for a scripting language on the Windows side of things.  Very simple 
copy files script.  Is this the best way to do it?

import os

     objdir = ("C:\\temp2")

Drop the parens here.

     colDir = os.listdir(objdir)
     for f in colDir:
         activefile = os.path.join(objdir + "\\" + f)

The point of os.path.join is exactly that you don't have to spell out the system-specific file separator. In this case, it gets called with a single string, which it return as-is.

         print ("Removing " + activefile + " from " + objdir)

Instead of using + to concat strings, use the format() functionn:

   "removing {} from {}".format(activefile, objdir)

Also, if you are using Python 2, print is a statement, not a function, so you could drop the parens here, too. I would not recommend that though! Instead, "from __future__ import print_function" and keep using print() as a function, just like in Python 3.

In general, I would not have stored the result of os.listdir() in a separate variable but iterated over it directly. For large dirs, it could also be better to use os.path.walk(), because that doesn't first build a list and then iterate over the list but iterates over the single elements directly. This avoids the memory allocation overhead, although it is unlikely to make a difference in this case and a Premature Optimization(tm).

Welcome to Python!

Uli


--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to