基本上我想编写一个执行多项操作的python脚本,其中一个将使用subversion(SVN)在存储库上运行checkout,并且可能会执行更多的svn命令。最好的方法是什么?这将作为一个crond脚本运行。
答案 0 :(得分:19)
这会有用吗?
p = subprocess.Popen("svn info svn://xx.xx.xx.xx/project/trunk | grep \"Revision\" | awk '{print $2}'", stdout=subprocess.PIPE, shell=True)
(output, err) = p.communicate()
print "Revision is", output
答案 1 :(得分:14)
尝试pysvn
就我测试它而言,为您提供了极佳的访问权限。 以下是一些示例:http://pysvn.tigris.org/docs/pysvn_prog_guide.html
为什么我说我测试它的原因是因为我已经转移到Git ..但如果我记得pysvn是(唯一的)最好的svn库。
答案 2 :(得分:0)
查看python xonsh模块:http://xon.sh/tutorial.html
它可以调用shell命令加上管道和输出重定向,并与python本机代码(嵌套)保持密切联系,而无需使用python通信bullshet和转义字符。
<强>实施例强>:
env | uniq | sort | grep PATH
COMMAND1 e>o < input.txt | COMMAND2 > output.txt e>> errors.txt
echo "my home is $HOME"
echo @(7+3)