os.system - python 中的os.system 命令中需要使用变量

我是python新手,需要在os.system命令中使用一个变量,这是我的代码,


import os , sys


s = raw_input('test>')



我 想在os.system命令中使用varable,类似os.system("shutdown -s -t 10 -c" 's')

时间:

5; rm -rf /

如果使用子进程,你发现以下示例很方便:


import subprocess


s = raw_input('test>')


subprocess.call(["shutdown","-s","-t","10","-c", s])



使用string.format函数。


os.system("shutdown -s -t 10 -c {}".format(s))



os.system将字符串作为参数,因此可以使用修改字符串的内容,


os.system('shutdown -s -t 10 -c {0}'.format(s))



使用subprocess.check_call,传递一个args列表,可以在你喜欢的地方添加变量:


from subprocess import check_call



check_call(["shutdown", some_var ,"-s","-t""10","-c"])



os.system()执行shell中的命令。


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




os.system("shutdown -s -t 10 -c" + s)



  • 加号连接两个字符串
  • s周围不使用引号,这样你就能得到用户输入的值,而不仅仅是一个文字"s"
...