从 SFTP 服务器打开 Astropy FITS 文件

我有一个 Python 脚本,它使用 Paramiko 模块通过 ssh 连接到远程服务器。


下面是我的脚本


import paramiko


ssh = paramiko.SSHClient()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh.connect("host", username="McMissile")

本地机器上的 FITS 文件通常是这样打开的:


from astropy.io import fits


hdu = fits.open('File.fits')

我想知道如何从 SFTP 服务器机器打开 FITS 文件并将其存储hdu在本地机器的变量下。


由于存储限制,我无法将文件从服务器下载到本地计算机。


FFIVE
浏览 232回答 1
1回答

鸿蒙传说

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)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python