2017-05-24 7 views
0

I am creating a backup script using pysftp module. I am able to upload and download files. When i am trying to Delete a directory with some contents i got an exception.Est-il possible de supprimer le répertoire avec certains contenus en utilisant le module pysftp?

This is what i tried

con = pysftp.Connection('192.168.0.40',username='root',password='clado123') 
con.chdir('/root/backup') 
con.pwd 
con.listdir() 
['data', 'test'] 
data - directory is not empty. 
test - directory is empty. 
con.rmdir('test') 
con.listdir() 
['data'] 
con.rmdir('data') 

OSError: Le non

Can any one suggest me a way to solve this problem?

Répondre

0
+0

J'ai déjà essayé cela. rmdir fonctionne parfaitement sur les répertoires vides, mais il échoue sur les répertoires avec du contenu. –

+0

Vous devez d'abord supprimer tous les objets du répertoire, même si ce n'est pas la meilleure solution car votre répertoire peut contenir d'autres répertoires –

+0

a une méthode> con.execute ('rm -rf/root/backup/data') <@Stavros Avramidis –

0

je trouve un moyen. Il y a une méthode appelée 'execute' dans l'objet de connexion pysftp. Nous pouvons exécuter des commandes sur le serveur distant en utilisant cette méthode.

con.execute('rm -rf /root/backup/data') 
con.listdir() 
[]