使用os.system()Python语法错误

时间:2017-05-20 03:20:50

标签: bash python-3.x

我想使用os.system命令在python脚本执行期间获取一些信息,但是我得到一个语法错误,我实际上在终端上使用相同的命令,语法是正确的。

命令是:

os.system(['df -h / | grep -E "\/$" | awk '{printf( $4)}''])

但语法错误出现在 {

提前感谢。

1 个答案:

答案 0 :(得分:0)

你的单引号和双引号不一致。堆栈溢出的语法着色应该清楚。

您可以通过l'L'l来完成转义引号来修复语法错误,但我更喜欢用三引号括起字符串。这样就无需使用转义引号(例如\')。

os.system(["""df -h / | grep -E "\/$" | awk '{printf( $4)}'"""])

然后你将只有TypeError,因为该函数不期望列表。修复如下:

os.system("""df -h / | grep -E "\/$" | awk '{printf( $4)}'""")