<分区>
我想从驻留在 svn repo 上的 tarball 中获取一个文件。我确实可以使用特定的用户名和密码通过 ssh 访问 svn repo 服务器,并且想通过 Python 代码执行相同的操作。
我不想将整个 tarball 带到我的机器上,然后提取所需的文件。
谁能告诉我如何实现同样的目标?
<分区>
我想从驻留在 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/