python3.X使用urllib与2.X不同

2.x版本的python可以直接使用import urllib来进行操作,但是3.x版本的python使用的是import urllib.request来进行操作,下面是简单的例子:

===============================================================================

# get code of given URL as html text string
# Python3 uses urllib.request.urlopen()
# instead of Python2's urllib.urlopen() or urllib2.urlopen()

import urllib.request

fp = urllib.request.urlopen("http://www.python.org")

mybytes = fp.read()
# note that Python3 does not read the html code as string
# but as html code bytearray, convert to string with
mystr = mybytes.decode("utf8")

fp.close()

print(mystr)

=============================================================================

我所遇到的问题:

1.import urllib.request是3.X中的,在2.X中直接用import urllib

2.fp = urllib.request.urlopen("http://www.python.org"),而不是 urllib.urlopen("http://www.python.org")

3.mystr = mybytes.decode("utf8"),编码需要注意

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
### 回答1: Python 2.x和3.x在某些方面不兼容,其中一些主要差异包括但不限于以下几点: 1. 语法问题。 Python 3.x不允许使用print语句,使用print()函数代替。另外,Python 3.x使用unicode字符串作为默认字符串类型,而Python 2.x默认使用ASCII字符串。 2. 数据类型问题。 Python 3.x中有一些数据类型的命名有所改变,例如:long在Python 3.x中被替换为int。另外,Python 2.x中的整型是可以自动转换为浮点型的,但是Python 3.x进行了更严格的分离,并放弃了兼容性。 3. 标准库问题。 Python标准库也不同,某些在Python 2.x中存在的模块和函数在Python 3.x中被移除。例如,Python 3.x中的urllib库和Python 2.x中的urllib2和urllib库有所区别。 4. 其他问题。 Python 3.x有更好的Unicode支持,在处理国际化问题时更加方便。而Python 2.x还是使用基于ASCII的字节串,对Unicode字符的处理可能会产生编码错误。Python 3.x中的一些函数返回的对象类型也有所变化。例如filter、map、range、zip等函数,返回的对象都是生成器类型,而在Python 2.x中返回的是列表。 因此,如果你从Python 2.x迁移到Python 3.x,需要仔细阅读文档,认真处理代码兼容性和数据类型问题。 ### 回答2: Python 2.x和3.x是两个不兼容的版本,主要表现在以下方面: 1. 编码:在Python 2.x中,字符串默认使用ASCII编码,而在Python 3.x中,字符串默认使用Unicode编码。因此,当我们在Python 3.x中运行旧的Python 2.x代码时,需要修改代码以支持Unicode编码。 2. print函数:在Python 2.x中,print函数是一个语句,而在Python 3.x中,它是一个函数。因此,在Python 3.x中,请使用括号来包含打印的内容,例如:print("hello world")。 3. 整除运算符:在Python 2.x中,使用单斜杠(/)进行整除运算,结果为整数,而在Python 3.x中,使用两个斜杠(//)进行整除运算,结果为浮点数。 4. xrange函数和range函数:在Python 2.x中,我们使用xrange函数生成一个迭代器对象,而在Python 3.x中,xrange函数已经被删除了,而range函数直接返回一个迭代器对象。 5. 异常:在Python 2.x中,异常类型可以是字符串或实例对象,而在Python 3.x中,只能是实例对象。因此,在Python 3.x中,请使用try-except语句来处理异常,而不是try-except语句。 6. input函数和raw_input函数:在Python 2.x中,我们使用raw_input函数来获取用户输入,而在Python 3.x中,这个函数已经被删除了,它被替换为input函数。 总结起来,Python 2.x和3.x之间的不兼容主要表现在编码、print函数、整除运算符、xrange函数和range函数、异常以及input函数和raw_input函数等方面。因此,我们需要认真学习并理解这些不兼容的内容,以便在编码时避免出现问题。 ### 回答3: Python是一种广受欢迎的高级编程语言,提供了许多丰富的编程工具和库。但是,Python在2.x和3.x版本之间有很多不兼容之处,这对于那些习惯于Python 2.x的开发人员来说可能是一个问题。 最重要的不兼容之处是语言的语法改变。Python 3.x的语法与之前版本有很大不同,比如print语句就有了一个参数。在Python 2中,它可以像这样使用: ``` print "Hello, world!" ``` 但是在Python 3中,你必须使用括号: ``` print("Hello, world!") ``` Python 3.x还引入了新的关键字,比如async和await。这些关键字在Python 2.x中并不存在,并且如果尝试在Python 2中使用这些关键字,会导致语法错误。 Python 3.x还有一个重要的不兼容点是对Unicode的处理方式。在Python 2.x中,字符串被表示为8位ASCII字符,但在Python 3.x中,字符串被表示为Unicode字符。这意味着在Python 2.x中可以使用类似“str”和“unicode”的函数来处理字符串,但在Python 3.x中只能使用一个“str”函数来处理所有类型的字符串。 此外,Python 3.x中还删除了一些在之前版本中广泛使用的模块和函数。例如,许多与旧版本的“tkinter”库相关的函数被删除,而在Python 2.x中使用的“file”函数也被删除。 综上所述,Python 2.x和3.x之间有很多不兼容之处。对于那些从Python 2.x迁移到Python 3.x的开发人员来说,这些不兼容问题需要花费一些时间和精力来解决。但是,Python 3.x引入了很多新的特性和功能,是新项目的绝佳选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值