Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

SCP 또는 SSH를 사용하여 Python의 원격 서버에 파일을 복사하는 방법은 무엇입니까?


ssh를 통해 한 서버에서 다른 서버로 파일을 복사하는 가장 쉬운 방법은 scp 명령을 사용하는 것입니다. scp를 호출하려면 subprocess 모듈이 필요합니다.

예시

import subprocess
p = subprocess.Popen(["scp", "my_file.txt", "username@server:path"])
sts = os.waitpid(p.pid, 0)

복사가 완료될 때까지 기다리려면 waitpid 호출이 필요합니다.

또 다른 솔루션은 ssh 연결을 열고 scp 모듈을 사용하는 것입니다.

from paramiko import SSHClient
from scp import SCPClient
ssh = SSHClient()
ssh.load_system_host_keys()
ssh.connect('user@server:path')
with SCPClient(ssh.get_transport()) as scp:
    scp.put('my_file.txt', 'my_file.txt') # Copy my_file.txt to the server