用subprocess执行指定文件夹/home/command/的ASK命令,然后把输出内容保存到CSV。请问怎么写这个脚本?
时间: 2023-04-07 10:02:57 浏览: 81
你可以使用以下Python脚本来执行指定文件夹/home/command/的ASK命令,并将输出内容保存到CSV文件中:
```
import subprocess
import csv
# 执行ASK命令
result = subprocess.run(['ASK'], cwd='/home/command/', capture_output=True, text=True)
# 将输出内容保存到CSV文件中
with open('output.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
for line in result.stdout.splitlines():
writer.writerow([line])
```
请注意,这个脚本只是一个示例,你需要根据实际情况进行修改。
相关问题
通过ssh输入账户密码,远程登陆一台没有PYthon的服务器上,用subprocess执行指定文件夹/home/command/的ASK命令,然后把输出内容保存到CSV。请问怎么写这个脚本
你可以使用以下脚本来实现这个任务:
```
import subprocess
# 输入服务器IP地址和账户名
server_ip = input("请输入服务器IP地址:")
username = input("请输入账户名:")
# 远程登陆服务器
ssh = subprocess.Popen(["ssh", f"{username}@{server_ip}"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True)
# 输入密码
password = input("请输入密码:")
ssh.stdin.write(f"{password}\n")
ssh.stdin.flush()
# 执行ASK命令并保存输出到CSV文件
command = "ASK"
output_file = "/home/command/output.csv"
ssh.stdin.write(f"cd /home/command && {command} > {output_file}\n")
ssh.stdin.flush()
# 等待命令执行完成
output, error = ssh.communicate()
print(output)
print(error)
```
请注意,这个脚本只是一个示例,你需要根据实际情况修改服务器IP地址、账户名、密码、ASK命令和输出文件路径。
阅读全文