【发布时间】:2010-04-07 14:45:51
【问题描述】:
在 python 中是 全新的 我正在尝试对 python 中的一组文件运行命令。该命令需要源文件和目标文件(我实际上使用的是 imagemagick convert,如下例所示)。
我可以同时提供源目录和目标目录,但是我不知道如何轻松地保留从源目录到目标目录的目录结构。
例如假设srcdir 包含以下内容:
srcdir/
file1
file3
dir1/
file1
file2
然后我希望程序在destdir 上创建以下目标文件:destdir/file1、destdir/file3、destdir/dir1/file1 和 destdir/dir1/file2
到目前为止,这是我想出的:
import os
from subprocess import call
srcdir = os.curdir # just use the current directory
destdir = 'path/to/destination'
for root, dirs, files in os.walk(srcdir):
for filename in files:
sourceFile = os.path.join(root, filename)
destFile = '???'
cmd = "convert %s -resize 50%% %s" % (sourceFile, destFile)
call(cmd, shell=True)
walk 方法不直接提供文件在srcdir 下的目录,只是将根目录字符串与文件名连接起来。有没有一些简单的方法来获取目标文件,或者我必须做一些字符串操作才能做到这一点?
【问题讨论】:
-
您说“获取目标文件”,但对我来说,您希望目标文件名 + 路径是什么并不明显。请问你能详细说明吗?是否要保留相对于
srcdir和destdir的目录结构?