【问题标题】:dynamic variable of a bash command in a python scriptpython脚本中bash命令的动态变量
【发布时间】:2019-01-20 15:02:39
【问题描述】:

我在 Centos 上运行一个 python 脚本,它有一些使用子进程的 bash 命令:

import ConfigParser
import fileinput
import sys
import subprocess

config = ConfigParser.ConfigParser()
config.readfp(open(r'config.file'))
host = config.get('section-1', 'machine_hostname')



##changing the hostname of the machine

change_hostname = "sudo hostnamectl set-hostname new-hostname"
process = subprocess.Popen(change_hostname.split(), 
stdout=subprocess.PIPE)
output, error = process.communicate()

我正在从配置文件中导入变量

如何将“new-hostname”作为变量“host”传递给我正在执行的命令,该命令可以从配置文件中动态分配

【问题讨论】:

    标签: python bash shell subprocess


    【解决方案1】:

    好像你只是想组装一个字符串,你可以使用格式命令:

    change_hostname = "sudo {} set-hostname new-hostname".format(host)

    应该给你你想要的,如果你使用的是相当新版本的python(3.6.4+ iirc)你也可以这样做:

    change_hostname = f"sudo {host} set-hostname new-hostname"

    【讨论】:

      猜你喜欢
      • 2010-10-22
      • 1970-01-01
      • 1970-01-01
      • 2021-01-28
      • 1970-01-01
      • 1970-01-01
      • 2011-06-04
      • 2015-04-24
      • 1970-01-01
      相关资源
      最近更新 更多