2017-12-21 4 views
0

Python 스크립트를 사용하여 원격 컴퓨터에서 로컬 컴퓨터로 파일을 복사하려고합니다. 필자는 와일드 카드를 사용하여 파일 이름을 표현하고자하므로 파일 이름의 확장자 만 알고 있습니다. using wildcards in filename in scp in pythonPython의 SCPClient 라이브러리를 사용하여 파일 이름에 와일드 카드 사용

제목 질문에 제안

은 또한, 나는 SCPClient 파이썬 라이브러리와 직접하지 os.system을를 사용하고자하지만, 나는 다음과 같은 코드를 실행하면

from paramiko import SSHClient 
import paramiko 
from scp import SCPClient 

with SSHClient() as ssh: 
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
    ssh.connect('10.10.100.5', username= 'root', password='Secret') 
    with SCPClient(ssh.get_transport()) as scp: 
     scp.get(remote_path='/root/*.py', local_path='.') 
을 SCP : /root/*.py :

나는 예외를

scp.SCPException를 얻을 수 없음 ./루트/* 평 : 파일 또는 쉘에서 실행 디렉토리

scp를 [email protected] 잘 작동합니다.

답변

1

당신은 당신의 get_transport()에 살균을 추가해야

with SCPClient(ssh.get_transport(), sanitize=lambda x: x) as scp: 
     scp.get(remote_path='/root/*.py', local_path='.') 

은 그렇지 와일드 카드 문자로 처리됩니다.

+0

감사합니다. 그것은 작동합니다. –

관련 문제