由于我的硬盘内存不够,我将大数据上传到SFTP服务器。 如何用Python访问服务器并加载它们进行分析? 我只想使用 Python 并将输出再次发送到服务器,而不是将它们下载到我的计算机上。
通过 Paramiko 库,您可以使用
SFTPClient.open
方法 检索可处理远程数据的类文件对象。然后,大多数 Python API 都可以使用这个类似文件的对象来代替本地文件句柄。
with sftp.open('filename.txt', bufsize=32768) as f:
# use f as if you have opened a local file with open()
有关一些现实生活中的示例,请参阅:
但是您仍然会“下载”数据。如果不下载(使用网络带宽),您就无法在本地处理远程数据。您只是不会将数据存储到本地文件系统。
bufsize=32768
的目的,请参阅
读取使用Python Paramiko SFTPClient.open方法打开的文件很慢。
import pysftp
with pysftp.Connection('hostname', username='me', password='secret') as sftp:
with sftp.cd('public'): # temporarily chdir to public
sftp.put('/my/local/filename') # upload file to public/ on remote
sftp.get('remote_file') # get a remote file
访问http://docs.paramiko.org/en/stable/api/sftp.html