Python远程附加文件

2024-03-28 10:55:23 发布

您现在位置:Python中文网/ 问答频道 /正文

在python中,将数据附加到现有文件(本地)似乎很容易,但远程添加数据并不那么容易(至少我发现)。有没有什么直接的方法来实现这一点?在

我尝试使用:

import subprocess

cmd = ['ssh', 'user@example.com',
       'cat - > /path/to/file/append.txt']

p = subprocess.Popen(cmd, stdin=subprocess.PIPE)

inmem_data = 'foobar\n'

for chunk_ix in range(0, len(inmem_data), 1024):
    chunk = inmem_data[chunk_ix:chunk_ix + 1024]
    p.stdin.write(chunk)

但也许这不是解决问题的方法,所以我试着发布一个查询:

^{pr2}$

但是我得到了connection refused,因此我显然需要某种类型的表单处理程序,不幸的是,我对此一无所知。有没有推荐的方法来实现这一点?谢谢。在


Tags: 文件数据方法importcmddata远程example
1条回答
网友
1楼 · 发布于 2024-03-28 10:55:23

如果我没弄错,你是想把一个远程文件附加到一个本地文件。。。在

我建议用布料。。。http://www.fabfile.org/

我用文本文件试过了,效果很好。在

请记住,在运行脚本之前安装结构:

pip install fabric

将远程文件附加到本地文件(我认为这是不言而喻的):

^{pr2}$

将其作为任何python文件运行(不需要使用“fab”应用程序)

希望这有帮助

编辑:在远程文件末尾写入变量的新脚本:

同样,使用织物非常简单

from fabric.api import (cd, env, run)
from time import time

env.host_string = "127.0.0.1:2222"
env.user = "jfroco"
env.password = "*********"

remote_path = "/home/jfroco/development/fabric1"
remote_file = "test.txt"

variable = "My time is %s" % time()

with cd(remote_path):
    run("echo '%s' >> %s" % (variable, remote_file))

在我使用的示例中时间。时间什么都可以。在

相关问题 更多 >