python+如何将变量传入os.system命令



这里有一个简单的例子,如何从python脚本重新扫描磁盘sda

#!/usr/bin/python3
import subprocess
import os

command = "echo 1 > /sys/block/sda/device/rescan"
os.system(command)

如果我们想将磁盘设置为变量disk_name

#!/usr/bin/python3
import subprocess
import os
disk_name = sda
command = "echo 1 > /sys/block/disk_name/device/rescan"
os.system(command)

那么将CCD_ 3变量传入命令的权限方法是什么,或者其他更好的方法?

我们尝试了以下方法,但没有成功

command = " 'echo 1 > /sys/block/' + str(disk_name) + '/device/rescan' "
os.system(command)

使用您的语法(只需删除双引号,这就是您的错误(:

command = 'echo 1 > /sys/block/' + str(disk_name) + '/device/rescan'
os.system(command)

但你可以使用F字符串使其更干净:

command = F"echo 1 > /sys/block/{disk_name}/device/rescan"
os.system(command)

最新更新