python - 如何从 tarball 远程获取文件

标签 python svn

<分区>

我想从驻留在 svn repo 上的 tarball 中获取一个文件。我确实可以使用特定的用户名和密码通过 ssh 访问 svn repo 服务器,并且想通过 Python 代码执行相同的操作。

我不想将整个 tarball 带到我的机器上,然后提取所需的文件。

谁能告诉我如何实现同样的目标?

最佳答案

您可以使用此 svn 命令获取 tarball 内容:

svn cat url_to_repo/path/to/tarball

您可以使用 subprocess 调用此 Python。此 svn 命令将文件内容写入标准输出,因此您可以从 subprocess.PIPE 读取它并将其解压缩到内存或本地文件中。

这是获取文件内容的示例 Python 代码:

#!/usr/bin/env python

import subprocess

svn_with_args = ['svn', 'cat', 'url_to_repo/path/to/tarball']
proc = subprocess.Popen(svn_with_args, stdout=subprocess.PIPE)
content = ''.join(proc.stdout.readlines())

关于python - 如何从 tarball 远程获取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20456071/

相关文章:

python - virtualenv、python 和 subversion

svn - 使用 svn info 获取修订日期

python - 使用 Python 将 .csv 文件分成 block

python - 在类里面制作 pyqtgraph 动画

python - Pandas 键列表列和值列表列到字典列表列

python - 与 Python numpy 矩阵不一致的结果

java - 将最新版本从 SVN 发送到 Tomcat6 webapp 目录

svn - 修复 git-svn "File or directory is out of date; try updating"

eclipse - 使用跨平台库在 Eclipse 中设置跨平台 C++ 项目

python : no module named selenium