python2和python3中split的坑】的更多相关文章

执行同样的split,python2和python3截取的行数内容却不一样 我想要截取Dalvik Heap行,使用split('\n')的方法 import os cpu='adb shell dumpsys meminfo com.cleanmaster.mguard_cn' re_cpu=os.popen(cpu).read().split('\n')[8] print(re_cpu) 使用python2调试后没问题,但是用python3时却截取的不是同一行…
目录 1. print( 坑的信息 ) 2. 开始填坑 2.1 Python2 中字典的遍历 2.2 Python3 中字典的遍历 2.3 结论 1. print( 坑的信息 ) 挖坑时间:2019/01/19 明细 坑的编码 内容 Py016-1 字典的遍历在 Python2 与 Python3 中区别 2. 开始填坑 2.1 Python2 中字典的遍历 # 例 1 # Python2 中字典的遍历 dict1 = {"a":"apple", "b&q…
有关python2与python3中关于除的不同 python中2版本与3版本关于除的处理还是有一些差异的. 在python 2.7.15中除(/)是向下取整的,即去尾法. 123/10 # 结果 12 128/10 # 结果 12 在python 3中除(/)是相对于2版本精确了一些,例如: print(123/10) # 结果 12.3…
前言 在Python中,我们通常使用urllib中的urlencode方法将字典编码,用于提交数据给url等操作,但是在Python2和Python3中urllib模块中所提供的urlencode的包位置有些不同. 对于Python2 Python2中提供了urllib和urllib2两个模块. urlencode方法所在位置为: urllib.urlencode(values) # 其中values为所需要编码的数据,并且只能为字典 1 例如模拟登陆CSDN网站,示例程序如下 import u…
参考自 python2和python3中的range区别 - CSDN博客 http://blog.csdn.net/xiexingshishu/article/details/48581379 python2中的range返回的是一个列表 python3中的range返回的是一个迭代值 for i in range(1,10)在python2和python3中都可以使用,但是要生成1-10的列表,就需要用list(range(1,10)) 输出abcde的子序列,如果用python3 s =…
在python2和python3中filter是不同的,其中在python2中filter返回的是一个list,可以直接使用 >>> a = [1,2,3,4,5,6,7] >>> filter(lambda x: x%2==0, a) [2, 4, 6] 而在python3中,返回的是<filter object at 0x05D25D90>,应将filter转换成list,才能继续使用 >>> list(filter(lambda x:…
Python2和Python3中列表推导式的不同 python2 >>> x = 'my girl' >>> lst = [x for x in 'hello'] >>> x 'o' 可以看到x的值被覆盖了 来看python3 python3 >>> x = 'my girl' >>> lst = [x for x in 'hello'] >>> x 'my girl' x的值没有被覆盖,这是因为p…
知道在python中rang()是一个有序的列表,在使用过程发现,Python2和Python3中的rang()不同之点,下面讲述不同之点 1,Python2 rang()用法 ->> rang(10) 输出 [0,1,2,3,4,5,6,7,8,9] 2,Python3 rang()用法 ->> rang(10) 输出 rang(0.10) 实际上是生成器 for i in rang(10) 输出 注意,要想在python2实现不输出列表 xrang() 一样可以实现 文章来自…
对于一些字符,python2和python3的md5加密出来是不一样的. Python2 和Python3MD5加密 # python2.7 pwd = "xxx" + chr(163) + "fj" checkcode = hashlib.md5(pwd).hexdigest() print checkcode # ea25a328180680aab82b2ef8c456b4ce # python3.6 pwd = "xxx" + chr(16…
Python2和Python3在字符串编码上是有明显的区别. 在Python2中,字符串无法完全地支持国际字符集和Unicode编码.为了解决这种限制,Python2对Unicode数据使用了单独的字符串类型.要输入Unicode字符串字面量,要在第一个引号前加上'u'.Python2中普通字符串实际上就是已经编码(非Unicode)的字节字符串. 在Python3中,不必加入这个前缀字符,否则是语法错误,这是因为所有的字符串默认已经是Unicode编码了. $ python2实例: >>&g…
python2中的除法 >>>1/2 0 即一个整数(无小数部分的数)被另外一个整数除,计算结果的小数部分被截除了,只留下了整数部分 有时候,这个功能比较有用,譬如在做一些需要取位数上的值时可以利用此特性用于循环结束等,但通常,大家用不到这种. 那么,有两种解决方式: 1)用实数(包含小数点的数)而不是整数进行运算 实数在Python中被称为浮点数(Float,或者Float-point number),只要参与运算的数字中有一个是浮点数,则为浮点数运算,运算结果亦为浮点数,也就不会截除…
在Python2和Python3中都提供print()方法来打印信息,但两个版本间的print稍微有差异 主要体现在以下几个方面: 1.python3中print是一个内置函数,有多个参数,而python2中print是一个语法结构: 2.Python2打印时可以不加括号:print 'hello world', Python3则需要加括号   print("hello world") 3.Python2中,input要求输入的字符串必须要加引号,为了避免读取非字符串类型发生的一些行为…
Python2 在python中包含两种字符串类型:str和unicode,str并不是完全意义上的字符串,其实是由unicode经过编码(encode)后的字节组成的字节字符串,而unicode则是真正意义上的字符串,由字符组成. python 在内部使用两个字节来存储一个unicode,使用unicode对象而不是str的好处,就是unicode方便于跨平台. 两种方式定义一个unicode: u1 = u'你好' u2 = unicode('你好', 'utf-8') str.decode…
1,在python2.x 中是不区分bytes和str类型的,在python3中bytes和str中是区分开的,str的所有操作bytes都支持 python2 中 >>> s = "abcdefg" >>> b = s.encode()    #或者使用下面的方式 >>> b = b"abcdefg">>> type(b)<type 'str'> python3中     #str…
python2中,有basestring.str.bytes.unicode四种类型 其中str == bytes ,basestring = (str,unicode) >>> isinstance('s',str) True >>> isinstance('s',bytes) True >>> isinstance('s',unicode) False >>> isinstance('s'.decode(),unicode) Tr…
开始拾起python,准备使用python3, 造轮子的过程中遇到了编码的问题,又看了一下python3和python2相比变化的部分. 首先说个概念: unicode:在本文中表示用4byte表示的unicode编码,也是python内部使用的字符串编码方式. utf-8:在本文中指最少1byte表示的unicode编码方式 我在使用 if isinstance(key,unicode): key= key.encode('utf-8') 的时候,发现key值被转成了b'foo',b'bar'…
python2中的range返回的是一个列表 python3中的range返回的是一个迭代值 for i in range(1,10)在python2和python3中都可以使用,但是要生成1-10的列表,就需要用list(range(1,10)) 在Python核心编程中要输出abcde的子序列,如果用(python3) s = 'abcde' i = -1 for i in [None] + range(-1, -len(s), -1): print(s[:i]) 会报错 需要改成 s = …
python2中: x = 'my love' dummy = [x for x in 'ABC'] print x 此时x打印为:'C' python3中: x = 'my love' dummy = [x for x in 'ABC'] print(x) 此时x打印为:'my love' 在 Python 3 中都有了自己的局部作用域,就像函数似的.表达式内部的变量和赋值只在局部起作用,表达式的上下文里的同名变量还可以被正常引用,局部变量并不会影响到它们. 在python3中: x = 'm…
python2在input()获取输入值时,所获取的值等于本身的数据类型 a = input("请输入:") print(a,type(a)) #如果输入的时int行数字,a 获取到的就是int 型数字 #如果输入的时字符串,a 获取到的就是字符串类型 python3在input()获取输入值时,获取到的都为字符串类型(str类型) 在python3中,无论数如什么类型,最终 a 都是一个字符串,如果输入5, a == '5'…
python2中的除法,结果为整型数字(int型),例如 10/5=2,10/3=3,小数位向下取整 python3中的除法,结果为浮点型数字(float型)结果小数位最多保留16位小数…
最近在使用python3,同样装了nose,发现自动发现用例总是有问题,如下面的代码结婚 testcase |------ __init__.py |------ test_bb.py test_bb.py中文件为: def test_qq(): pass Python3中: 再使用nose执行testcase提示: ----------------------------------------------------------------------Ran 0 tests in 0.001…
前言 在讨论话题之前,我们先说下程序中除法的三种情况: 1. 传统的除法,我称之为整型地板除.在C.C++.Java中常见,特点是整数相除舍弃小数取整,浮点数相除则保留小数(如果有). >>>/ >>>1.0/2.0 0.5 2. 真实的除法,我称之为精确除法.特点是无论整数还是浮点数,均保留小数(如果有). >>>/ 0.5 >>>1.0/2.0 0.5 3. 只留整数的除法,我称之为完全地板除.特点是无论整数还是浮点数,均不保留小…
Python2中unittest.TestSuite().addTest()的参数是这样的:unittest.TestSuite().addTest(TestFun("test_nam"));其中TestFun是继承于TestCase的类,test_name是里面的测试函数. 然后运行传list当参数: name_list=[TestFun("test_nam01"),TestFun("test_nam02"),TestFun("tes…
X/Y 在3.0版本之前的Python中 >>>1/2 0 即一个整数(无小数部分的数)被另外一个整数除,计算结果的小数部分被截除了,只留下了整数部分 有时候,这个功能比较有用,譬如在做一些需要取位数上的值时可以利用此特性用于循环结束等,但通常,大家用不到这种. 那么,有两种解决方式: 1)用实数(包含小数点的数)而不是整数进行运算 实数在Python中被称为浮点数(Float,或者Float-point number),只要参与运算的数字中有一个是浮点数,则为浮点数运算,运算结果亦为浮…
经典类与新式类 例如: A B C D 四个类 D 包含 BC :   B和C分别包含A py2 在经典类中是按深度优先来继承 例如: D中查找B,B没有从A中查找 新式类中是按广度优先来查找继承的 例如:D中查找B,没有查找C,C中没有再去查找A py3中新式类和经典类都是按广度优先来继承的 经典类 class A: 新式类 class A(object):…
Python 2.x 中,在列表推导中 for 关键词之后的赋值操作可能会影响列表推导上下文中的同名变量.像下面这个 Python 2.7 控制台对话: Python 2.7.15 (default, May 1 2018, 05:55:50) [GCC 7.3.0] on linux2 Type "help", "copyright", "credits" or "license" for more information.…
https://www.jianshu.com/p/6f9d99f7ad54 里面最后一张图应该输出   This is from C…
目前Python的两个版本Python2和Python3同时存在,且这两个版本同时在更新与维护. 到底是选择Python2还是选择Python3,取决于当前要使用的库.框架支持哪个版本. 例如:HTMLTestRunner.locustio支持Python2,但是不支持Python3. 所以很多时候,一台电脑上需要同时安装Python2和Python3. 本篇内容主要讲一下,在同一台电脑上如何同时安装Python2和Python3,且均可以正常使用pip. 一.安装Python2(以及pip)…
很多情况下你可能会想要开发一个程序能同时在python2和python3中运行. 想象一下你开发了一个模块,成百上千的人都在使用它,但不是所有的用户都同时使用python 2和3.这种情况下你有两个选择.第一种情况,你可以讲2种模块分开,分别为python2和python3开发一个.另一种情况就是,你可以修改你现有的代码,使其同时支持python2和python3. 今天我们来讲一些方法使你的代码能同时兼容它们. Future import 首先,也是最重要的的方法即是__future__模块的…
安装两个版本的意义 验证自己代码对版本的兼容性 网上下载的某些源码只能在python2或者python3中运行 安装过程记录 1.去python官网下载python的安装包, 下载完成后如下图所示 2.开始安装 这一步并没有好说的,选择自己安装的路径.这里推荐选择C盘或者D盘的根目录便于查找 注意一点是其中有一个选项是ADD TO PATH,请先不要勾选 3.配置环境变量 配置环境变量的意义在哪里呢?举个例子,比如你要打开QQ,从本质上来说你要到QQ的安装目录去运行,但是平时我们在桌面都有个快捷…