我正在尝试从远程服务器上的特定位置tar包含xml文件的文件夹集,并尝试在本地复制它并在python中解压缩它。
使用命令tar -cvf
在Python中使用以下代码来sftp tarred文件:
sftp = ssh.open_sftp()
sftp.get(remotePath, localPath, callback)
sftp.close()
ssh.close()
回调函数:
def callback(transferred, tobetransferred):
global transfer_complete
res = abs(tobetransferred - transferred)
if res == 0:
transfer_complete = True
我检查标志transfer_complete是否为true或等到它成为真正的片段:
while transfer_complete == False:
time.sleep(1)
这里面临的问题:
我有时会收到此错误:
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
这似乎更像是一个计时问题,因为我看到tar文件被完整地复制但仍然说它无法解开。我每20到30次重试就会看到这个问题。
有没有一种有效的方法来解决这个问题?因为我认为该文件仍在被复制,我试图解开它。