python对两个变量运行for循环并将变量作为rsync destination

时间:2015-08-21 12:14:57

标签: python loops for-loop rsync

以下代码运行良好,可以在bash中同时同步两个目录;然而,事实证明在python中做同样的事情很困难。 我将展示这两个尝试,你给我你的反馈 bash的

#!/bin/bash
for dest in /backup1 /backup2 /backup3; do
rsync -aviS /source $dest
done

在python中,我试过这个没有用。我想在上面做同样的事情,但是在python中。

#!/usr/bin/env python3

import os
def func_sync():

dest1 = '/home/user/test/new_test1/'
dest2 = '/home/user/test/new_test2/'
zipped = zip(dest1,dest2)
sync = os.system("rsync -av '/home/user/Documents/testsync_p/' \(for data in zipped)")
return sync

func_sync()

我如何改进这个?

1 个答案:

答案 0 :(得分:0)

这可以解决上面的问题。使用shutil模块。

    import shutil
    src = "/home/user/Documents/src_dir"
    dst = ("/home/user/Documents/dst_1", "/home/user/Documents/dst_2")
    for i in dst:
        shutil.copytree(src, i)