簡體   English   中英

numpy fromfile使用遠程paramiko SFTPFile連接

[英]numpy fromfile using remote paramiko SFTPFile connection

我要使用numpy讀取的服務器上有一個二進制數據文件。 請注意,我可以使用paramiko SSH2模塊建立到文件的遠程SFTP連接,而不是登錄服務器並在其中運行Python代碼:

import paramiko

# get SSH connection to remote server (els039)
ssh_client=paramiko.SSHClient()
ssh_client.load_system_host_keys()
ssh_client.connect("els039")

# now get SFTP client connection:
sftp_client = ssh_client.open_sftp()

# get connection to remote file
rfile = sftp_client.open('2013041506.dat')

現在,我可以使用標准的Python文件讀取功能來訪問數據,但是不能使用Numpy讀取數據。 例如,我想從這樣的數據中讀取3個數組(長度已知):

zdat = np.fromfile(rfile, dtype=">f8", count=zdat_len)
udat = np.fromfile(rfile, dtype=">f8", count=udat_len)
vdat = np.fromfile(rfile, dtype=">f8", count=vdat_len)

但是numpy不喜歡rfileparamiko.SFTPFile類型的paramiko.SFTPFile

有什么方法可以做我想做的-還是應該將整個文件SCP放在本地目錄中?

如果您喜歡得到想要的東西

那么您應該對訪問<fileObject>numpy.fromfile()方法進行逆向工程,以讀取結構/數據單元,並自行創建一個臨時的addOn,該paramiko.SFTPFileparamiko.SFTPFile對象/實例方法。

如果您希望快速獲得工作結果

那么您可能寧願選擇下載(實例化)您的<localhost>文件系統上的純.dat文件實例, numpy.fromfile()和/或numpy.loadtxt()標准方法可以處理並以這種方式完成工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM