目的是通过传递一句bat命令,将处理的结果反馈回来# coding=utf-8from subprocess import Popendef 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的编辑器处理汉字能力太坑爹,各种不行。
1 回答

慕森卡
TA贡献1806条经验 获得超8个赞
def getmask():
command='for /f "delims=: tokens=2" %i in (\'ipconfig ^| findstr 子网掩码\') do echo %i'
Popen(command,shell=True)
- 1 回答
- 0 关注
- 167 浏览
添加回答
举报
0/150
提交
取消