Python 上传 Windows 目录文件到远程 Linux(虚拟机)目录
"""@author: Looking@email: 2392863668@qq.com"""import osimport timeimport paramiko# connect函数中,参数是一个主机的IP地址或者是主机名称,# 在执行这个方法之后,如果成功的连接到服务器,那么就会返回一个sshclient对象def connect(host):# 建立一个...
·
import os
import time
import paramiko
# connect函数中,参数是一个主机的IP地址或者是主机名称,
# 在执行这个方法之后,如果成功的连接到服务器,那么就会返回一个sshclient对象
def connect(host):
# 建立一个SSHClient的对象
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(host, 22, username='root', password='123456')
return ssh
# 上传文件
# 一个是连接对象conn,一个是上传的文件名称,一个上传之后的文件名称,在此必须写入完整的文件名称包括路径。
# 做法主要是打开一个sftp对象,然后使用put方法进行上传文件,最后关闭sftp连接,最后返回一个上传的文件名称的完整路径
def copy_module(conn, inpath, outpath):
ftp = conn.open_sftp()
ftp.put(inpath, outpath)
# ftp.get(inpath, outpath) # get 是下载
print(inpath, outpath)
ftp.close()
return True
if __name__ == '__main__':
remote_connect = connect('192.168.128.139')
local_dir = r"D:\MyProject\Python\workspace\locrecord2"
remote_dir = r"/root/locrecord2/"
file_list = os.listdir(local_dir)
start = time.time()
for file in file_list:
local_file_path = os.path.join(local_dir, file)
remote_file_path = os.path.join(remote_dir, file)
copy_module(remote_connect, local_file_path, remote_file_path)
# 建议不要直接把connect('192.168.128.139')作为copy_module的参数,不然每次传输都重新连接会很慢
end = time.time()
print("time cost {:.2f} s".format(end - start))
"D:\Program Files\Python36\python3.exe" D:/MyProject/Python/workspace/scp_file.py
D:\MyProject\Python\workspace\locrecord2\o2020033114524219580127.wav /root/locrecord2/o2020033114524219580127.wav
............................................
D:\MyProject\Python\workspace\locrecord2\o2020041316223255340123.wav /root/locrecord2/o2020041316223255340123.wav
D:\MyProject\Python\workspace\locrecord2\o2020041316593417380127.wav /root/locrecord2/o2020041316593417380127.wav
time cost 19.19 s
Process finished with exit code 0
[root@master locrecord2]# pwd
/root/locrecord2
[root@master locrecord2]# ll
total 404264
-rw-r--r--. 1 root root 4975738 Apr 27 15:30 o2020033114524219580127.wav
-rw-r--r--. 1 root root 3140698 Apr 27 15:30 o2020033115092621050123.wav
-rw-r--r--. 1 root root 4717658 Apr 27 15:30 o2020033117024385870124.wav
............................................
更多推荐
已为社区贡献13条内容
所有评论(0)