使用Python自动执行Subversion命令

问题描述:

我是Subversion的新手,而不是Python中的经验,但是我需要处理大量需要在目录中移动的媒体文件。使用Visions GUI,一些文件传输需要很长时间,所以我想通过将这些操作存储在文本文件中然后让Python脚本在夜间采取行动来将这些任务自动运行一夜。使用Python自动执行Subversion命令

例如,文本文件可能包含一个命令,例如:

svn mv current desired 

我怎么能这个字符串发送到终端执行命令?

你可以做os.system调用或尝试使用PySVN,这可能会让你在使用Python的SVN仓库中获得更多的控制权。

+0

//我以为PySVN是一个GUI客户端,而不是自动化库。 – 2015-12-12 07:41:47

+0

PySVN附带一个Workbench,它是一个GUI客户端。但请参阅http://pysvn.tigris.org/docs/pysvn_prog_guide.html获取PySVN程序员指南,您会发现从Python内部使用SVN回购是很好的API。 – Abgan 2016-02-11 11:54:47

subprocess模块是执行命令的最佳方式。正如@Abgan指出的,更好的方法可能是使用颠覆库。

如果你在Windows上,最好使用SVN库。在Linux/Mac/Unix上,你可以采用任何一种方式,因为它们可以很好地运行子进程 - windows在这方面做得并不好。

今天的子流程确实比os.system更受欢迎。

使用subprocess.Popen而不是SVN库(模块)的好处是,您不必学习两种访问SVN的方式。您的命令行SVN知识直接转换为您的代码。