我從SVN下載文件,文件相當大(〜300MB) 我多次使用腳本,萬一文件已經存在,我不想下載它又一次,因爲我需要驗證我的文件是一樣的,在SVN(連接問題有時會殺死我的腳本和下載沒有完成)如何驗證從svn下載的文件-python,osx
下載之前有任何驗證方式嗎? (如獲得SVN文件,我怎麼也找不到做校驗)
我使用這行下載:提前
fn,download_exit_code=urllib.urlretrieve(url_path,ver_name)
謝謝...
我從SVN下載文件,文件相當大(〜300MB) 我多次使用腳本,萬一文件已經存在,我不想下載它又一次,因爲我需要驗證我的文件是一樣的,在SVN(連接問題有時會殺死我的腳本和下載沒有完成)如何驗證從svn下載的文件-python,osx
下載之前有任何驗證方式嗎? (如獲得SVN文件,我怎麼也找不到做校驗)
我使用這行下載:提前
fn,download_exit_code=urllib.urlretrieve(url_path,ver_name)
謝謝...
您可以檢查SVN修訂版號。下面是一些代碼,工作對我來說:
import subprocess
svn_url = ...
version_string = subprocess.check_output("svnversion")
parts = version_string.split(":")
svn_version = int(''.join([s for s in parts[-1] if s.isdigit()]))
repository_info = subprocess.check_output(
"svn info " + svn_url
)
for line in repository_info.split("\n"):
if line.lower().startswith("last changed rev"):
latest_svn_version = int(''.join([s for s in line if s.isdigit()]))
if svn_version < latest_svn_version:
# Download new
確實需要您使用SVN來下載你的文件,儘管(通過svn up
)。
如果您有權訪問svn,您可以使用svn checkout簽出文件,然後運行svn update。 svn update會更新文件,如果它改變了,否則什麼也不做。
import os
import subprocess
os.chdir('/path/to/file')
subprocess.check_call('svn update')