记录如何用python将本地文件上传至服务器
最近开发过程中,遇到需要将文件从本地传输到服务器的情况。本文将详细介绍如何使用Python来实现文件传输到服务器的过程。
paramiko
连接远端服务器新建文件 main.py
输入如下参考代码:
import json
import os
import paramiko
def upload():
# all_pics 为本地文件名称数组
# 文件存放在 E:\xxx 目录下面
all_pics = ['xxx']
with open(r'.\config.json', 'r') as f:
config = json.load(f)
host = config['host']
username = config['username']
password = config['password']
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
try:
ssh.connect(hostname=host, port=22, username=username, password=password)
sftp = ssh.open_sftp()
for pic in all_pics:
pic_name = pic['name'] + '.png'
try:
sftp.stat('/www/xxx/' + pic_name)
print(pic_name)
except IOError:
print('copying file')
local_path = r'E:\xxx\\' + pic_name
remote_path = '/www/xxx/' + pic_name
sftp.put(local_path, remote_path)
sftp.close()
except Exception as e:
print(f"文件传输失败: {str(e)}")
finally:
ssh.close()
if __name__ == '__main__':
upload()