import paramiko
class LinuxFile:
def __init__(self, ip, port, username, password):
try:
self.ip = ip
self.port = port
self.username = username
self.password = password
self.transport = paramiko.Transport((str(self.ip), int(self.port)))
self.transport.connect(username=self.username, password=self.password)
self.sftp = paramiko.SFTPClient.from_transport(self.transport)
except Exception as e:
raise e
def up_file(self, localhost_file, server_file):
"""
将本地文件上传至服务器
:param localhost_file: 本地文件路径
:param server_file: 服务器保存路径
:return:
"""
self.sftp.put(localhost_file, server_file)
def down_file(self, localhost_file, server_file):
"""
将服务器文件下载至本地
:param localhost_file: 本地文件路径
:param server_file: 服务器保存路径
:return:
"""
self.sftp.get(localhost_file, server_file)
def close(self):
"""
关闭服务器
:return:
"""
self.transport.close()
if __name__ == '__main__':
test = LinuxFile('192.168.16.105', '22', 'root', 'admin123')
test.up_file('../2020-10-11_20-21-28.py', '/root/2020-10-11_20-21-28.py')
test.down_file('/root/2020-10-11_20-21-28.py','2020-10-11_20-21-28.py')