在安装python的服务器,访问没安装Python的ABC服务器并使用命令。使用ssh登录ABC服务器,将命令“askquestion“输出的内容,另存为CSV。用Subprocess如何实现.
时间: 2023-04-07 19:02:50 浏览: 44
可以使用以下代码实现:
```
import subprocess
# ssh登录ABC服务器
ssh = subprocess.Popen(["ssh", "user@ABC_server", "askquestion"],
shell=False,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
# 将输出内容另存为CSV
with open("output.csv", "w") as f:
for line in ssh.stdout:
f.write(line.decode())
```
这段代码会使用ssh登录ABC服务器,并执行命令“askquestion”。然后将输出内容逐行写入一个名为“output.csv”的文件中。
相关问题
在安装python的服务器,访问没安装Python的服务器并使用命令。使用ssh登录ABC服务器,将命令“askquestion“输出的内容,另存为CSV。用Subprocess如何实现.
可以使用以下命令实现:
ssh user@ABC_server "python -c 'import subprocess; subprocess.call(\"askquestion\", stdout=open(\"output.csv\", \"w\"))'"
这个命令会通过ssh登录ABC服务器,然后在ABC服务器上执行Python命令,将askquestion命令的输出保存到output.csv文件中。其中,user是ABC服务器的用户名,ABC_server是ABC服务器的IP地址或域名。
在安装python的服务器,访问没安装Python的服务器并使用命令。用Subprocess如何实现
可以使用以下代码实现:
```
import subprocess
# 通过ssh连接到目标服务器
ssh = subprocess.Popen(['ssh', 'username@server_address'],
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
universal_newlines=True,
bufsize=0)
# 在目标服务器上执行命令
command = 'command_to_execute'
ssh.stdin.write(command + '\n')
output = ssh.stdout.readlines()
# 输出命令执行结果
for line in output:
print(line.strip())
# 关闭ssh连接
ssh.stdin.close()
ssh.stdout.close()
ssh.stderr.close()
```
其中,`username`是目标服务器的用户名,`server_address`是目标服务器的IP地址或域名,`command_to_execute`是要在目标服务器上执行的命令。这段代码会通过ssh连接到目标服务器,并在目标服务器上执行命令,最后输出命令执行结果。