18

基本上我想编写一个 python 脚本来做几件事,其中之一是使用 subversion (SVN) 在存储库上运行检查,并且可能执行更多的 svn 命令。最好的方法是什么?这将作为 crond 脚本运行。

4

3 回答 3

22

这行得通吗?

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
于 2013-05-15T20:11:46.747 回答
16

试试pysvn

就我测试过的而言,为您提供了很好的访问权限。这里有一些例子: http: //pysvn.tigris.org/docs/pysvn_prog_guide.html

我之所以这么说,就我已经测试过的而言,是因为我已经搬到了 Git 上。但是如果我记得 pysvn 是(唯一和)最好的 svn 库。

于 2013-05-15T19:35:51.870 回答
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)

于 2017-06-29T11:56:19.517 回答