You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python Paramiko重写SSH服务器上的文件内容?

使用Paramiko通过SSH覆盖远程文件内容

你已通过Paramiko建立SSH连接,想要覆盖远程服务器上counter-contract/src/main.sw文件的内容,待写入内容存储在new_content变量中。需要注意:你之前尝试用vim命令打开文件的方式不适合自动化操作,以下是两种可行的实现方案:

方案一:通过Shell命令重定向写入

利用Shell输出重定向功能(>符号会直接覆盖原文件内容),通过exec_command执行写入命令:

# 定义远程文件路径
file_path = "fuel-project/counter-contract/src/main.sw"
# 构造写入命令,用printf处理特殊字符更可靠
write_command = f'printf "%s" "{new_content}" > {file_path}'
sendCommand(write_command)

如果new_content包含双引号、反斜杠等特殊字符,建议用shlex.quote安全转义:

import shlex

escaped_content = shlex.quote(new_content)
write_command = f'printf "%s" {escaped_content} > {file_path}'
sendCommand(write_command)

方案二:使用Paramiko SFTP客户端(推荐)

Paramiko内置SFTP客户端,直接通过SFTP协议操作文件,比Shell命令更稳定,无需依赖远程环境配置:

# 创建SFTP客户端实例
sftp = client.open_sftp()

# 远程文件完整路径
remote_file_path = "fuel-project/counter-contract/src/main.sw"

# 以写入模式打开文件,覆盖原有内容
with sftp.file(remote_file_path, 'w') as f:
    f.write(new_content)

# 关闭SFTP连接
sftp.close()

内容的提问来源于stack exchange,提问作者Katerina_GG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 02:35:49