Problem with subprocess.call and cp
Fredrik Lundh
fredrik at pythonware.com
Sun Oct 23 08:11:45 EDT 2005
Torsten Bronger wrote:
> The following code
>
> from subprocess import call
> call(['cp', 'subdir/*.jpg', 'othersubdir/'])
>
> yields
>
> cp: call of stat for "subdir/*.jpg" not possible: File or directory not found
>
> (This may not be the real error message since it's back-translated
> from German.) I could use shell=True, however, what's going wrong
> here?
under Unix, it's the shell that expands glob patterns. individual commands
usually don't know anything about such patterns.
so if you run the "cp" command directly, it will look for a single file named
"subdir/*.jpg". if you run it via the shell, it will get a list of matching files
from the shell.
here's a corresponding pure-python solution, btw:
import glob, shutil
for file in glob.glob("subdir/*.jpg"):
shutil.copy(file, "othersubdir")
</F>
More information about the Python-list
mailing list