在Python中,将一组文件从源目录处理到目标目录

2024-05-13 18:08:29 发布

您现在位置:Python中文网/ 问答频道 /正文

作为python中全新的,我尝试在python中对一组文件运行一个命令。该命令需要源文件和目标文件(我实际上使用的是imagemagickconvert,如下例所示)。在

我可以提供源目录和目标目录,但是我不知道如何轻松地保留从源目录到目标目录的目录结构。在

例如,srcdir包含以下内容:

srcdir/
   file1
   file3
   dir1/
       file1
       file2

然后我希望程序在destdir上创建以下目标文件:destdir/file1destdir/file3destdir/dir1/file1和{}

到目前为止,我想到的是:

^{pr2}$

walk方法不直接提供文件在srcdir下的目录,而是将根目录字符串与文件名连接起来。有没有一些简单的方法来获得目标文件,或者我必须要做一些字符串操作才能做到这一点?在


Tags: 文件方法字符串命令目录目标file1目标目录
3条回答

有一些相对路径脚本可以做你想要的,即找到两条路径之间的相对路径。E、 g.:

不幸的是,我认为这个功能从来没有被添加到核心python中。在

虽然不漂亮,但这将保留树的目录结构:

_, _, subdirs = root.partition(srcdir)
destfile = os.path.join(destdir, subdirs[1:], filename)

将循环更改为:

for root, dirs, files in os.walk(srcdir):
    destroot = os.path.join(destdir, root[len(srcdir):])
    for adir in dirs:
        os.makedirs(os.path.join(destroot, adir))
    for filename in files:
        sourceFile = os.path.join(root, filename)
        destFile = os.path.join(destroot, filename)
        processFile(sourceFile, destFile)

相关问题 更多 >