用subprocess执行指定文件夹/home/command/的ASK命令,请问怎么写这个脚本?
时间: 2023-04-07 22:02:52 浏览: 90
可以使用以下脚本来执行指定文件夹/home/command/的ASK命令:
```python
import subprocess
folder_path = "/home/command/"
command = "ASK"
subprocess.run([command], cwd=folder_path)
```
其中,`subprocess.run()`函数可以接受一个列表作为参数,列表中的第一个元素是要执行的命令,后面的元素是命令的参数。`cwd`参数可以指定命令执行的工作目录,即文件夹路径。
相关问题
用subprocess执行指定文件夹/home/command/的ASK命令,然后把输出内容保存到CSV。请问怎么写这个脚本?
你可以使用以下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])
```
请注意,这个脚本只是一个示例,你需要根据实际情况进行修改。
远程登陆一台没有PYthon的服务器上,用subprocess执行指定文件夹/home/command/的ASK命令,然后把输出内容保存到CSV。请问怎么写这个脚本?
可以使用以下脚本实现:
```python
import subprocess
import csv
# 远程服务器的IP地址和用户名
ip = "xxx.xxx.xxx.xxx"
username = "username"
# 执行的命令
command = "ASK"
folder = "/home/command/"
# 登录远程服务器并执行命令
ssh = subprocess.Popen(["ssh", f"{username}@{ip}", f"cd {folder} && {command}"], stdout=subprocess.PIPE)
# 读取命令输出
output = ssh.stdout.readlines()
# 将输出保存到CSV文件
with open("output.csv", "w", newline="") as csvfile:
writer = csv.writer(csvfile)
for line in output:
writer.writerow([line.strip().decode("utf-8")])
```
需要注意的是,执行该脚本需要在本地安装SSH客户端,并且需要在远程服务器上安装ASK命令。
阅读全文