1、Python的from import和import的区别?
from import : 从车里把矿泉水拿出来,给我
import : 把车给我
import datetime
print(datetime.datetime.now())
是引入整个datetime包
from datetime import datetime
print(datetime.now())
是只引入datetime包里的datetime类
所以import之后前者是datetime这个包可见 后者是datetime.datetime这个类可见
2. ImportError: No module named 'cookielib'1
Python3中,改成 import http.cookiejar,然后方法里也改成 http.cookiejar,查找替换就行
3. NameError: name 'raw_input' is not defined
在版本3中已经用input()替换
4. Import error: No module name urllib
from urllib.request import urlopen
5. ImportError: No module named urllib2
Python 3中urllib2用urllib.request替代
6、TypeError: write() argument must be str, not bytes
文件打开的方式有问题。
之前文件打开的语句是:
f=open("list.pkl","w+")
然后使用二进制方式打开就没有这个问题:
f=open("list_account.pkl","wb+")
产生问题的原因是因为pickle存储方式默认是二进制方式
写文件处 open(filename, 'w').write 应该写为 open(filename, 'wb').write
7、Python 3.x Error:TypeError: a bytes-like object is
8、TabError: Inconsistent use of tabs and spaces in indentation
这个错误是说你用了tab键作缩进了
在python里不用大括号来区分程序块,用缩进
所以缩进很重要
你把tab都换成空格就好了
9、can't use a string pattern on a bytes-like object
3.0现在的参数更改了,现在读取的是bytes-like的,但参数要求是chart-like的,找了一下,加了个编码:
data = data.decode('GBK')
在与正则使用前,就可以正常使用了..
10、TypeError: ‘NoneType’ object is not iterable
去找找你所调用的函数的返回的值的类型,是否和返回值所赋值的变量的类型,两者是否匹配。
11、module 'urllib' has no attribute 'urlencode'
Python3的话,包内部的代码结构貌似变化了,要用urllib.parse.urlencode()来调用才对。
12、python3.x执行post请求时报错“POST data should be bytes or an iterable of bytes...”的解决方法
在urlencode语句后加encode(encoding='UTF8')
eg:
params = urllib.parse.urlencode({'userid':'381fccbd776c4deb'}).encode(encoding='UTF8')
问题解决
13.SyntaxError: Non-UTF-8 code starting with '\xc9' in file
首行增加,已测试可用。
# coding=gbk
程序中出现中文,运行的时候出现如下错误:
SyntaxError: Non-UTF-8 code starting with 'xc1' in file C:...xxx.py on line 8, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
导致出错的根源就是编码问题。
解决方案是:
在程序最上面加上:
# coding=gbk搜索
这样程序就可以正常运行了。
14、使用 Sublime 工具时报Decode error - output not utf-8解决办法
打开Python.sublime-build文件,并添加"encoding":"cp936"这一行,保存即可
{
"cmd": ["python", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"encoding":"cp936"
}
Python.sublime-build文件存放地址:
C:\Users\用户名\AppData\Roaming\Sublime Text 2\Packages\Python
实在找不到的话可以这样来查找:
tools->build system -> New Build System
此时会打开一个新文件,不用输入内容,直接保存,看看保存到哪里去了吧.
15、安装scrapy时报错:[twisted] CRITICAL: Unhandled error in Deferred:
16、爬取链接时,urlopen().read()后,返回的是b'\x1f\x8b\x08\x00\x00\x00\x00\。。。
解决思路:
1、刚开始尝试了bytes转Str类型的各种方法,都不起作用,报错
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte
2、突然发现python有个第三方包叫chardet,它可以自动帮你识别出网页的编码
import chardet
import urllib2
#可根据需要,选择不同的数据
TestData = urllib2.urlopen('http://www.baidu.com/').read()
print chardet.detect(TestData)
准确的判断编码方式是utf-8.
3、我测试后,返回的编码却为这种None:
{'encoding': None, 'confidence': 0.0}
原来是这个页面的编码问题,该页面返回的是gzip编码,实际上每次应该判断页面信息的'Content-Encoding'是否为'gzip'。
urllib支持gzip页面自动解压而urllib2不支持。 所以对于这种页面, 先解压再read:
try: response = urllib2.urlopen(self.url, timeout = self.timeout) if response.info().get('Content-Encoding', "") == 'gzip': buf = StringIO.StringIO(response.read()) f = gzip.GzipFile(fileobj=buf) content = f.read() else: content = response.read() content = self.enc_dec(content) return content except socket.timeout: log.warn("Timeout in fetching %s" % self.url)
方法2:
def getUrlContent(url): #返回页面内容 doc = urllib.request.urlopen(url).read() #解码 try: html=gzip.decompress(doc).decode("utf-8") except: html=doc.decode("utf-8") return html
自己的解决方法是在请求时,将header中的
'Accept-Encoding':'gzip, deflate, sdch', 注释掉即可获取到正常的bytes数据
然后自己再次识别编码,结果为:{'encoding': 'utf-8', 'confidence': 0.99}
最后再bytes转换为 str,即可获得完整可识别的HTML代码。
==============================================================================
解压:
def ungzip(data): try: print('正在解压.....') print(data) data = gzip.decompress(data) print('解压完毕!') except: print('未经压缩, 无需解压') return data结果:
正在解压..... b"\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\x03\x14\xcaM\x0e@0\x10\x06\xd0\xbb|kii\x98xc7!\x82\x7fU\x00\x00\x00" 解压完毕! b'{"status":"loginok","msg":"\\u767b\\u9646\\u6210\\u529f"}'
17、UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
18、python getaddrinfo failed
HOST="" 中间没有空格
19、数据转换:
将b'{"status":"ok","total":"36","data":[{"id":"115878","uid":"3364","type":"9","pay":"\\u7b7e\\u5230\\u7ea2\\u5305"...}]}'
转为{"status":"ok","total":"36","data":[{"id":"115878","uid":"3364","type":"9","pay":"\u7b7e\u5230\u7ea2\u5305"...}]}
op = signsession.get(url)
#print(op.content)
data = op.content.decode()
相关推荐
Python 捕捉错误 类型 总结
实验报告总结强调了Python与C语言之间的共通性,即都需要逻辑思维和上机实践。通过不断练习和阅读他人的代码,学生可以更好地理解和运用Python语法,例如理解元组、列表等数据结构的特性。此外,报告鼓励将Python...
### Python开发总结——C程序员的Python之路 #### 引言 随着软件开发领域的不断发展与变化,许多原本专注于C语言的开发者也开始转向学习Python这一高级语言。对于习惯了C语言的程序员而言,掌握Python不仅可以拓宽...
如果不隔开语句,Python解释器将不能正确解释,提示语法错误:SyntaxError: invalid syntax 三、分号的使用 分号是Python中的一个符号,它用于一条语句的完毕标识。但是,Python倾向于使用换行符作为每条语句的...
### Python语言总结 v1.0 #### 摘要与背景 本文档旨在全面解析《Python语言总结 v1.0》中的核心知识点,包括Python语言的内置模块、第三方模块的应用经验分享,以及作者自定义库`crifanLib.py`的具体实现细节。...
### Python开发总结知识点 #### 一、推荐书籍与资源 1. **《Python参考手册》** - **主要内容**:本书全面介绍了Python的各种标准模块及其特性。对于希望深入了解Python库和特性的开发者来说,是一本不可或缺的...
这篇博文"python学习总结"可能是作者对于自己学习Python过程中的经验分享,可能涵盖了基础语法、数据结构、函数、模块化编程、面向对象编程、错误与异常处理、文件操作以及常用的第三方库和工具的使用。下面,我们将...
软通 Python 机试考题总结 本文总结了软通动力的 Python 机考题目,涵盖了 Python 语法基础、编程基础等方面的知识点。这些知识点都是程序员容易忽略的基础知识,但它们对程序员的编程基础和项目经验都是非常重要的...
异常处理在Python中通过try-except-finally语句实现,可以捕获并处理程序运行时可能出现的错误。Python还支持模块化编程,通过import语句可以导入并使用其他文件中的函数和类,提高代码的复用性和可维护性。 面向...
### Python的配置总结 #### 一、Python多版本共存配置 在实际工作中,我们可能会遇到需要同时使用Python 2.x和Python 3.x的情况。为了确保不同项目的兼容性,通常需要在计算机上同时安装多个版本的Python。下面...
Python编程笔记是对Python开发知识的全面总结和整理,旨在帮助读者深入理解和掌握这门流行的高级编程语言。笔记分为两大部分,第一部分是Python的核心概念,第二部分涉及更高级的主题。 在前言中,作者可能介绍了...
Python通过try/except/finally语句进行异常处理,能有效捕获并处理运行时错误。 8. **文件操作** 文件I/O是任何编程语言的基础,Python提供了简单的方法来打开、读取、写入和关闭文件,以及处理文本和二进制数据...
异常处理是Python中处理错误和异常的关键,使用try/except/finally结构来捕获和处理异常。Python还提供了丰富的内置函数,如len()、range()、zip()、map()、filter()等,以及高级特性如列表推导式、生成器表达式、上...
python爬取网络资源整理,总计了一些常见用法及错误方式解析
Python是一种高级编程语言,...这不仅涵盖了数据的存储和处理,还包括了控制流程(如条件语句和循环)、错误处理、模块导入等更复杂的话题。通过不断地实践和应用,可以逐步精通Python编程,构建出功能丰富的应用程序。
SystemError是在Python解释器内部出现错误时抛出的,比如内部一致性检查失败。 SystemExit异常通常是由sys.exit()函数引发的,它允许程序以指定的状态退出。 TypeError异常发生在操作或函数被应用于不合适的对象...
### Python爬虫总结教学知识点详解 #### 一、Python爬虫概述 Python作为一种高级编程语言,因其简洁易读的语法特性、丰富的第三方库资源及强大的社区支持,成为了编写网络爬虫程序的首选语言之一。本教学提纲旨在...
在这个“python总结.rar”的压缩包中,我们很可能会找到关于Python语言的各种学习资料,包括基础语法、数据结构、函数、类与对象、模块和包、错误与异常处理、文件操作以及一些进阶主题,如面向对象编程、装饰器、...
10. **异常处理**:Python使用try-except语句来捕获和处理运行时错误,这有助于编写健壮的代码,确保程序在遇到错误时能优雅地退出或恢复。 以上就是"Python语法总结(完整版)"所涵盖的主要内容,无论你是初学者还是...