import paramiko
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect('hostname', username='test1234', password='test')
path = ['/home/test/*.txt', '/home/test1/*.file', '/home/check/*.xml']
for i in path:
for j in glob.glob(i):
print j
client.close()
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用 列出远程服务器上的通配符文件glob.glob。但glob.glob()不工作。
使用 Python 2.6。
远程服务器包含这些文件:/home/test1/check.file, /home/test1/validate.file,/home/test1/vali.file
任何人都可以请帮助解决这个问题。
我想使用 Python 脚本将文件从远程机器复制到我的本地机器。我只知道文件名的扩展名,所以我想使用通配符来表示文件名。
此外,我想直接使用SCPClient Python 库而不是os.system,如题为using wildcards in filename in filename in python in python 中所建议的那样
但是当我运行以下代码时:
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='.')
Run Code Online (Sandbox Code Playgroud)
我得到一个例外
scp.SCPException: scp: /root/*.py: 没有那个文件或目录
从 shell 运行效果很好
scp root@10.10.100.5:/root/*.py 。