Paramiko在远程SFTP服务器上的文件中追加/编辑特定行

时间:2019-06-21 06:18:02

标签: python python-3.x sftp paramiko

我需要使用Paramiko将行添加到远程服务器上的文件中。
我正在使用以下代码。
问题在于它将行添加到文件的底部,并且要求将其添加到文件的中间。

任何线索/帮助将不胜感激

ftp = ssh_client.open_sftp()
file=ftp.file('file_name', "a", -1)
file.write('appending_line')
file.flush()
ftp.close()

1 个答案:

答案 0 :(得分:1)

即使是本地文件,也不能在文件中间添加一行,只允许远程文件。

您必须读取/下载整个文件(或至少要修改的行开头的部分),根据需要修改内容,然后再次写回/上传整个文件。

为此,请参见:
Editing specific line in text file in Python

您只需要用Paramiko SFTPClient.open(或别名open)替换普通的.file