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

Python을 사용하여 한 서버에서 다른 서버로 파일을 복사하는 방법은 무엇입니까?

<시간/>

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

예를 들어

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