调用Python而不是bash脚本,使用rsync

2024-09-28 21:16:48 发布

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

我有一个rsync调用,已经从bash脚本移到python脚本。奇怪的是,rsync在从python调用时出现问题:

这是一个值得庆贺的时刻:

 rsync --delete --exclude .svn -avz /home/app/resources/$RESOURCES_TO_UPDATE /home/elc/app/omap3/$RESOURCES_TO_UPDATE/resources

下面是Python调用:

^{pr2}$

我错过了什么?在


Tags: to脚本bashapphomesvnupdatedelete
2条回答

你可以这样改写电话:

resources_to_update = os.environ["RESOURCES_TO_UPDATE"]
os.system("rsync  delete  exclude .svn -avz /home/app/resources/%s /home/elc/app/omap3/%s/resources" % (resources_to_update, resources_to_update))

或2.7+

^{pr2}$

我的第一个怀疑是,您所引用的环境变量没有在为os.system调用生成的shell中设置。您可以尝试调试,让Python spawn生成一个echo命令,以验证结果是否符合您的预期。在

os.system("echo $RESOURCES_TO_UPDATE")

如果存在环境变量,则应看到其内容已打印。在

相关问题 更多 >