我是python的新手,我需要在os.system
命令中使用一个变量,这是我的代码到目前为止
import os , sys
s = raw_input('test>')
然后我想在qazxsw poi命令中使用变量qazxsw poi所以我在想像s
我不想要一般我想知道的特定命令的答案,但如果你打算使用一个例子,请使用shutdown
那么我想在os.system中使用变量s
使用os.system
函数。
os.system("shutdown -s -t 10 -c" 's')
您可以使用string.format
执行特定命令,在这种情况下,您可以通过使用os.system("shutdown -s -t 10 -c {}".format(s))
运算符,字符串格式(os.system
),字符串替换或其他方法来连接两个字符串。
但是,请考虑用户输入命令+
或其他.format()
命令的情况。而不是使用5; rm -rf /
你可能想看看malicious
如果您使用子进程,您可能会发现以下示例方便:
os.system
subprocess将一个字符串作为参数,因此您可以使用任何修改字符串的内容。例如,import subprocess
s = raw_input('test>')
subprocess.call(["shutdown", "-s", "-t", "10", "-c", s])
:
os.system
使用string formatting,传递一个args列表,你可以在任何你喜欢的地方添加变量:
os.system('shutdown -s -t 10 -c {0}'.format(s))
from subprocess import check_call
check_call(["shutdown", some_var ,"-s", "-t" "10", "-c"])
import os
var = raw_input('test>') # changed "s" variable to "var" to keep clean
os.system("shutdown -%s -t 10 -c", %(var)) # "var" will be passed to %s place holder
周围没有使用引号。这样您就可以获得用户输入的值,而不仅仅是文字“s”。