python3.x入手,修改了2.x的代码兼容3.x
来源:互联网 发布:淘宝信用卡怎么办理 编辑:程序博客网 时间:2024/05/07 19:54
搜索python教程,好几次都看到一个关于对比java和python代码的简洁性。作为java出身的我,自然就想敲一下看看python到底好在哪里。
可惜呢。按照文章介绍,敲出来的代码运行的时候报错。o(╯□╰)o
看了一下,python3.x 的print方法为 print(); 而不是print “ ”; 了。略囧
其次,3.x对str的处理也不一样了,3.x执行的是byte,不同于2.x的ascii,所以对str到字节流的时候要encode一下,输出流要decode一下。
代码变为这样:
strstring='ping 121.250.218.'+str(begin)+'\n'p.stdin.write(strstring.encode())
print("exe result:"+p.stdout.read().decode("gbk"))对,顺便提醒:cmd的输出要用gbk解码而不是utf8解码。
如果不加解码的话就会变为 /x01-/xff 这样的字节流了~
附上完整代码:
import subprocesscmd="cmd.exe"begin=240end=255while begin<end: p=subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE, stdin=subprocess.PIPE,stderr=subprocess.PIPE) strstring='ping 121.250.218.'+str(begin)+'\n' begin=begin+1 p.stdin.write(strstring.encode()) p.stdin.close() p.wait() print("exe result:"+p.stdout.read().decode("gbk"))
0 0
- python3.x入手,修改了2.x的代码兼容3.x
- python3.x和2.x的区别
- Python3.x与2.x的区别(记录下,以备自己忘了)
- python3.X的变化
- 在python3.X下修改了HTMLTestRunner.py
- python2.x ~ python3.x
- Python3.x
- Python3.x
- 定义 Model兼容python2.x和python3.x
- 手势识别兼容Android 1.x和2.x的代码
- 手势识别兼容Android 1.x和2.x的代码
- 手势识别兼容Android 1.x和2.x的代码(转载)
- 手势识别兼容Android 1.x和2.x的代码
- 入手cocos2d-x
- python3.x与2.x的一些变化
- Python 2.x与Python3.x中inpu的区别
- Python3.x和Python2.x的区别
- Python3.x和Python2.x的区别
- 倍频和分频,预分频和后分频
- 查看占用端口的程序(CMD)
- 【Content Provider】SQL AND & OR 运算符
- 【Android】资源查找:(资源目录)当前设备对比(去掉冲突)->按限定条件过滤(优先级顺序) 直到只有一个满足
- 一些有用的API
- python3.x入手,修改了2.x的代码兼容3.x
- 第6周作业-图像缩放显示
- VC 实现自删除
- sqlhelper用法
- 服务器证书到期导致hhtps的不能登录
- cocoa 消息机制
- 解决window.location.href切换页面造成的Request.UrlReferrer=null的问题
- java 骨架类
- J2EE的WEB.XML详解