我有一个 Python 脚本,它使用 Paramiko 模块通过 ssh 连接到远程服务器。下面是我的脚本import paramikossh = paramiko.SSHClient()ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())ssh.connect("host", username="McMissile")本地机器上的 FITS 文件通常是这样打开的:from astropy.io import fitshdu = fits.open('File.fits')我想知道如何从 SFTP 服务器机器打开 FITS 文件并将其存储hdu在本地机器的变量下。由于存储限制,我无法将文件从服务器下载到本地计算机。
1 回答
鸿蒙传说
TA贡献1865条经验 获得超7个赞
Astropy.iofits.open
方法接受一个类似文件的对象来代替文件名:
name : 文件路径、文件对象、类文件对象或 pathlib.Path 对象
ParamikoSFTPClient.open
方法返回一个代表远程文件的类文件对象:
返回一个类文件对象,它非常模仿普通 Python 文件对象的行为,包括用作上下文管理器的能力。
所以这应该有效:
sftp_client = ssh_client.open_sftp()with sftp_client.open('remote_filename') as remote_file: hdu = fits.open(remote_file)
添加回答
举报
0/150
提交
取消