2
我想将两个变量传递给os.system(),例如在(ls -l testdirectory)这样的特定目录中列出不同格式的文件,其中交换机和测试目录是可变的。 我知道单可变这一个工程:在python中传入多个变量到os.system
option=l os.sytem('ls -%s' option)
但我不知道如何通过两个变量?
我想将两个变量传递给os.system(),例如在(ls -l testdirectory)这样的特定目录中列出不同格式的文件,其中交换机和测试目录是可变的。 我知道单可变这一个工程:在python中传入多个变量到os.system
option=l os.sytem('ls -%s' option)
但我不知道如何通过两个变量?
你是问关于字符串格式化(因为os.system
需要一个字符串,而不是参数列表)
cmd = "ls -{0} -{1}".format(var1,var2)
#or cmd = "{0} -{1} -{2}".format("ls","l","a")
os.system(cmd)
或
cmd = "ls -%s -%s"%(var1,var2)
或
cmd = "ls -"+var1+" -"+var2
这一点,例如,作品:
os.system('%s %s' % ('ls', '-l'))
你不应该使用'os.system()'开头;使用更灵活(更安全)的'subprocess'模块。 (你的例子不会起作用,要么......) – geoffspear
@从技术上来说,你的权利......我仍然经常使用os.system,尽管也是......它只是简单的如果这就是你所需要的,而且你明确地控制输入... –
请参阅http://stackoverflow.com/questions/12605498/how-to-use-subprocess-popen-python。 – joel3000