如何使用subprocess脚本,在安装Python3的服务器上写脚本,去控制没Python3的服务器?把linux使用query输出的结果,保存在文本里。
时间: 2023-04-08 15:03:02 浏览: 108
这个问题可以回答。您可以使用subprocess模块来在Python脚本中执行命令行命令。您可以使用以下命令来在Python脚本中执行查询命令并将结果保存到文本文件中:
import subprocess
# 执行查询命令并将结果保存到文本文件中
with open('output.txt', 'w') as f:
subprocess.run(['query', 'linux'], stdout=f)
这将执行查询命令并将结果输出到名为“output.txt”的文本文件中。请注意,您需要在执行此脚本的服务器上安装Python 3。
相关问题
如何使用subprocess脚本,在安装Python3的服务器上写脚本,去登录没Python3的服务器,然后使用“echo”命令,把命令输出的结果保存到文件ABC里。
你可以使用以下命令:
subprocess.run(['ssh', 'username@server', 'echo command > ABC'], stdout=subprocess.PIPE)
其中,username是目标服务器的用户名,server是目标服务器的IP地址或域名,command是你想要在目标服务器上执行的命令。这个命令会通过SSH连接到目标服务器,并在目标服务器上执行命令,将命令输出保存到文件ABC中。
在安装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连接到目标服务器,并在目标服务器上执行命令,最后输出命令执行结果。