**:
注意:sftp的rmdir只能刪除空目錄,所以如果目錄中存在檔案或子目錄,需要先刪除這些內容再刪除該目錄。如下所示**可以參考:
1importos2
import
paramiko
3from stat import
s_isdir
45 server ="
any.sftpserver
"6 username = "
uname
"7 password = "
***"
8 path_to_hosts_file = os.path.join("
~", "
.ssh
", "
known_hosts")
910 ssh =paramiko.sshclient()
11ssh.load_host_keys(os.path.expanduser(path_to_hosts_file))
12 ssh.connect(server, username=username, password=password)
1314
defisdir(path):
15try:16
return
s_isdir(sftp.stat(path).st_mode)
17except
ioerror:
18return
false
1920
defrm(path):
21 files = sftp.listdir(path=path)
2223
for f in
files:
24 filepath =os.path.join(path, f)
25if
isdir(filepath):
26rm(filepath)
27else:28
sftp.remove(filepath)
2930
sftp.rmdir(path)
3132
if__name__ == "
__main__":
33 rm("
/path/to/some/directory/to/remove
")
如何刪除多級目錄
昨天看見乙個貼子 chinaasp 問怎麼刪除目錄,以前一直可以,但昨天出了問題,原來他只是把他下級的檔案刪了後就刪 目錄所以如果多幾級就有問題。我的這個只能暫時湊活著用,如果你的目錄沒有十幾層的話應該沒有問題的吧 但我不熟悉遞迴只能做到 deltree path rmdir path 才能刪除這個...
如何刪除多級目錄
昨天看見乙個貼子 chinaasp 問怎麼刪除目錄,以前一直可以,但昨天出了問題,原來他只是把他下級的檔案刪了後就刪 目錄所以如果多幾級就有問題。我的這個只能暫時湊活著用,如果你的目錄沒有十幾層的話應該沒有問題的吧 但我不熟悉遞迴只能做到 deltree path rmdir path 才能刪除這個...
如何刪除多級目錄
昨天看見乙個貼子 chinaasp 問怎麼刪除目錄,以前一直可以,但昨天出了問題,原來他只是把他下級的檔案刪了後就刪 目錄所以如果多幾級就有問題。我的這個只能暫時湊活著用,如果你的目錄沒有十幾層的話應該沒有問題的吧 但我不熟悉遞迴只能做到 deltree path rmdir path 才能刪除這個...