为什么subprocess的报了一个叫做windowsError的异常?

目的是通过传递一句bat命令,将处理的结果反馈回来
# coding=utf-8
from subprocess import Popen

def getmask():
command='for /f "delims=: tokens=2" %%i in ('ipconfig ^| findstr 子网掩码') do echo %%i'
Popen(command)

getmask()
问题就在于,我传递给Popen要执行的命令中,有('ipconfig ^| findstr 子网掩码')这段话,包涵了一个单引号,但python中,单引号里面是不允许出现单引号的,尝试着用转义\符号,但subprocess的报了一个叫做windowsError的异常。
是方法有错吗?这种命令不是这么传递的吗?
如果只执行ipconfig,获取的对象是一个文件对象,但需要处理汉字。但不知道是水平不过关还是支持2.7 python的编辑器处理汉字能力太坑爹,各种不行。

慕码人8056858
浏览 169回答 1
1回答

慕森卡

def getmask():command='for /f "delims=: tokens=2" %i in (\'ipconfig ^| findstr 子网掩码\') do echo %i'Popen(command,shell=True)
打开App,查看更多内容
随时随地看视频慕课网APP