Как я могу прочитать файл NetCDF удаленно с помощью Python?
Легко прочитать файл с сервера с помощью ssh, используя Python, но как я могу заменить команду sftp_client.open()
чем-то вроде netCDF4.Dataset()
, чтобы сохранить этот результат в переменной?
В следующем примере я загружаю локально и временно файл, который хочу прочитать удаленно:
import os
import paramiko
import netCDF4
remotefile = 'pathtoremotefile'
localfile = 'pathtolocaltmpfile'
ssh_client = paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect('myserver', username="myname", password="mypswd")
sftp_client = ssh_client.open_sftp()
# Something similar than this but for a NetCDF file?
# Or how to use remote_file in netCDF4 afterwards?
# remote_file = sftp_client.open(remotefile)
# Here, I just download it to manipulate it locally...
sftp_client.get(remotefile, localfile)
try:
ncfile = netCDF4.Dataset(localfile)
# Operations...
finally:
sftp_client.close()
ssh_client.close()
os.remove(localfile)