【发布时间】:2014-04-01 20:30:56
【问题描述】:
我想将两个变量传递给 os.system(),例如在特定目录中以不同格式列出文件,例如 (ls -l testdirectory),其中开关和测试目录都是可变的。 我知道这对于单个变量有效:
option=l
os.sytem('ls -%s' option)
但我不知道如何传递两个变量?
【问题讨论】:
-
你不应该用
os.system()开头;使用更灵活(更安全)的subprocess模块。 (你的例子一开始也不行……) -
@Wooble meh 从技术上讲是你的权利......我仍然经常使用 os.system 虽然也......如果这就是你所需要的并且你肯定控制输入它只是简单......
-
@Wooble 我看不到任何文档here 表明使用 os.system 存在安全问题。你能详细说明一下吗?
-
@codaamok 参见例如Actual meaning of
shell=Trueinsubprocess但它也在os.system文档中被大量提及,同时建议更喜欢subprocess模块。