Python 3.*中那些消失的模块和函数(持续更新,仅作学习参考)


版权声明:本文为博主原创文章,未经博主允许不得转载。如需转载请留言,并贴上原博文链接:https://blog.csdn.net/u011628215/article/details/93990133


前言:自接触Python语言开始,其版本就已经到了3.4(没记错的话现在的版本已经更新到3.8),所以Python 2.*的很多模块和函数都已经或废弃或移除或合并了,本博文记录目前已经遇到的不可用的模块和函数,以及能够用来作为代替的模块和函数,随着接触到的模块和函数越来越多,后续会进行整理,可能按照字母顺序排列,或者按照内容和使用性质排列,仅供以后参考(仅记录模块和函数的名称,不记录其具体使用用法,否则会显得过于冗长,但各位小伙伴可以提供链接,我会贴在后面)。同时,非常欢迎各位小伙伴们提供、补充并且纠错,在此先感谢各位的帮助!

 

Python 3.*中不存在的函数和模块:

1. raw_input :在Python 3.*中,该函数已经和input合并;(20190628)

2. commands:在Python 2.4以上的版本中,已经弃用,可了解subprocess的用法;(20190628)

3. thread:在 Python3 中不能再使用"thread" 模块,为了兼容性,Python3 将 thread 重命名为 "_thread"。同时在Python3线程中常用的两个模块分别是:_thread和threading(推荐使用);(20190703)

4. time:其中的time.clock(),当我在服务器上运行此函数时,遇到这样的提示:“Deprecation Warning: time.clock has been deprecated in Python 3.3 and will be removed from Python 3.8: use time.perf_counter or time.process_time instead”,从Python 3.3版本中已经逐步将time.clock()移除(目前我使用的Python版本是Python 3.7,所以该函数还是可以使用的,但是会报“Deprecation Warning”(弃用警告))。(20190705)

5. string.atoi():该函数是将字符串类型的数字转换为整型的数字,但是在Python3.*中已经删除了,可以使用int()来代替,但是“int()”括号中的内容应该只能为数字例如:int('1'),如果有空格或者其他标点符号会报错;(20190708)

6. try...except...:Python2中try...except...的用法和Python3中有区别,具体见下例:

# Python2中:
try:
    # ...
    # ...
except Exception,e:
    print e

# Python3中:
try:
    # ...
    # ...
except Exception as e:
    print(e)

大概就是这样,异常处理中其他的不同暂时还没有遇到,后续遇到再补充;(20190715)

7. array.tobytes():在Python3.2及其以后的版本中,该函数已经被array.tostring()所取代;在Python3.7中依然可以使用,但会给出弃用提示;(20190717)

8.urllib2:在Python3.3及其以后的版本中,该函数已经和urllib进行了整合;(20191108)P.S.例如原来想要使用urllib2.Request的时候,只需要import urllib2就行,但在Python3.x中,则需要import urllib.request,然后urllib.request.Request才行(注意,如果只import urllib,调用的时候,.request.Request不会自动填充,会提示没有request方法,所以导入的时候要导入完整)。

 

 

第三方库:

scipy:

形式:scipy.xxx

1. DeprecationWarning: `hanning` is deprecated, use `scipy.signal.windows.hann` instead!(20190904)

 

未完待续 ... ... 

(关于博文中Python 2.*/Python 3.*中的“*”,具体的版本也可以指出来,方便以后想要学习Python语言的小伙伴们选择安装版本。以后有空还会再更新一篇关于Python 3.*中函数使用方法改变的博文,例如:在Python 2.*中print函数可能是不需要加“(括号)”的,但是在3.*中需要加括号才能正常运行)


参考资料(感谢以下资料的提供者们?,以下参考资料和上述问题编号一一对应,方便后续查看对照):

1.python3 中的raw_input() 和input

2.python commands模块在python3.x被subprocess取代

3.Python3 多线程

5.python 数字和字符串转换问题

6.Python3之异常处理

7.array — Efficient arrays of numeric values

8.在python3.3后urllib2已经不能再用,只能用urllib.request来代替

   python3.x以上 爬虫 使用问题 urllib(不能使用urllib2)

   Python3中urllib使用介绍

   python3的urllib3和requests

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值