SFTPClient類
利用paramiko實現ssh2傳輸協議的sftp會話,實現遠程文件上傳、下載等操作。
0、安裝
pip install paramiko
1、from_transport方法連接
classmethod from_transport(cls,t)
參數說明:
- t:一個已通過驗證的傳輸對象
例如:
import paramiko
client = paramiko.Transport(('127.0.0.1',22))
client.connect( username="opcai",password="secure123")
sftp = paramiko.SFTPClient.from_transport(client)
2、get方法下載
get( remotepath, localpath, callback=None)
參數說明:
-
remotepath:需要下載的遠程文件
-
localpath:本地存儲路徑
-
callback:獲取接收與總傳輸字節數
例如:
sftp.get(remotepath="/tmp/aaaaa",localpath="/tmp/23")
3、put方法
put(localpath,remotepath,callback=None,confirm=True)
參數說明:
-
localpath:上傳源文件的本地路徑
-
remotepath:目標路徑
-
callback:獲取接收與總傳輸字節數
-
confirm:上傳完畢後是否調用stat()方法,以便確認文件大小
例如:
sftp.put(localpath="/tmp/23",remotepath="/tmp/aaaaa")
4、mkdir方法創建目錄
mkdir(path, mode=o777)
參數說明:
-
path:遠程路徑
-
mode:默認是8進制的777,但是在系統上一般是以umask爲準,這個被忽略。如果強制設置mode,則umask會被屏蔽。
5、刪除操作
rmdir(path) :刪除目錄
remove(path) :刪除文件
6、rename方法重命名
rename(oldpath,newpath)
7、查看文件或者目錄信息
stat(path):獲取文件信息
listdir(path):獲取目錄列表
8、切換、查看目錄
getcwd():查看當前所在目錄
chdir(path):切換當前目錄
9、修改文件或者目錄的權限、用戶組
chmod(path , mode) :修改目錄或者文件權限
chown(path,uid ,gid):修改目錄或者文件的用戶組