要在 Python 中将数据写入远程机器的磁盘文件,您可以使用 `subprocess` 模块来启动一个 SSH 进程,并通过该进程将数据写入远程机器上的文件。以下是一个示例代码,展示了如何将内存中的二进制数据写入远程机器上的文件:
import subprocess
定义要写入的数据
your_inmem_data = b'foobarbaz\0' * 10 10MB 的二进制字符串
创建命令列表
cmd = [
'ssh',
'user@machine2',
'mkdir -p output/dir', 确保输出目录存在
'cat > output/dir/file.dat' 将数据写入文件
]
使用 subprocess.Popen 打开到 Machine2 的新 SSH 进程,并将数据写入其 STDIN
p = subprocess.Popen(cmd, stdin=subprocess.PIPE)
p.stdin.write(your_inmem_data) 写入数据
p.stdin.close() 关闭 STDIN,以便进程知道数据已发送完毕
p.wait() 等待进程完成
这段代码首先定义了要写入的二进制数据,然后创建了一个命令列表,用于通过 SSH 在远程机器上创建目录(如果不存在)并将数据写入文件。`subprocess.Popen` 用于启动 SSH 进程,并通过 `stdin` 将数据写入进程。
请注意,您需要确保远程机器上已经安装了 OpenSSH 服务器,并且您有足够的权限在远程机器上创建和写入文件。