gpt4 book ai didi

python - 将 JSON 文件直接转储到远程 SSH 连接中,而不先将它们存储在本地计算机中

转载 作者:行者123 更新时间:2023-12-01 07:56:27 28 4
gpt4 key购买 nike

我需要使用 SSH 连接将数据以 JSON 文件形式转储到远程服务器中,但我需要将数据直接转储到远程服务器中,而不是先将其转储到本地计算机中。我使用 Paramiko 进行 SSH 连接,但我愿意接受其他解决方案。

我正在从数据库中提取数据并将这些数据转换为字典数据结构。现在我想以 JSON 文件的形式转储这些字典,但无法将数据保存在本地计算机中。我需要将其直接转储到服务器中,我通过 Python 与 Paramiko 连接该服务器。我需要同时完成所有操作,从数据库中提取数据,转换为字典,并将其作为 JSON 文件转储到远程服务器中。

在这里,我根据我的需求添加了一些虚拟代码。

import paramiko

dicty = {'a': 1, 'b':2, 'c': 3}

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('141.42.48.20', username='user', password='psw')

with open('dictionary.txt', 'w') as outfile:
json.dump(dicty, outfile, default=myconverter)

ssh.close()

我需要的是,我不想将数据转储到 outfile 中,而是将其转储到 ssh 客户端中。
我对其他解决方案或框架持开放态度。我只需要一个字典作为 JSON 直接发送到服务器。

最佳答案

只需将普通(本地)open 替换为 Paramiko SFTPClient.open :

sftp = ssh.open_sftp()

with sftp.open('dictionary.txt', 'w') as outfile:
json.dump(dicty, outfile, default=myconverter)
<小时/>

强制性警告:
不要像这样使用AutoAddPolicy。这样做你会失去安全感。
请参阅Paramiko "Unknown Server" .

关于python - 将 JSON 文件直接转储到远程 SSH 连接中,而不先将它们存储在本地计算机中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55951860/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com