面对时间问题:在python

时间:2016-11-28 20:38:50

标签: python sftp tar timing

我正在尝试从远程服务器上的特定位置tar包含xml文件的文件夹集,并尝试在本地复制它并在python中解压缩它。

  1. 使用命令tar -cvf

  2. 去皮文件
  3. 在Python中使用以下代码来sftp tarred文件:

    sftp = ssh.open_sftp()
    sftp.get(remotePath, localPath, callback)
    sftp.close()
    ssh.close()
    
  4. 回调函数:

    def callback(transferred, tobetransferred):
        global transfer_complete
        res = abs(tobetransferred - transferred)
        if res == 0:
            transfer_complete = True
    
  5. 我检查标志transfer_complete是否为true或等到它成为真正的片段:

    while transfer_complete == False:
        time.sleep(1)
    
  6. 这里面临的问题:

    我有时会收到此错误:

    tar (child): Error is not recoverable: exiting now
    tar: Child returned status 2
    tar: Error is not recoverable: exiting now
    

    这似乎更像是一个计时问题,因为我看到tar文件被完整地复制但仍然说它无法解开。我每20到30次重试就会看到这个问题。

    有没有一种有效的方法来解决这个问题?因为我认为该文件仍在被复制,我试图解开它。

0 个答案:

没有答案