首页 > 技术文章 > 【Python常见问题总结】

vincentcheng 2017-10-06 22:47 原文

1. python2 中 end = '' 取消换行没有用

解决办法: 在程序开始加入 from __future__ import print_function

2. 如何在电脑上同时使用python2x  pyhton3x

方案一:使用虚拟环境  virtaulenv  在虚拟环境下进行包的安装和管理, 对于项目管理十分有用

原理:不适用虚拟环境下的正常安装实际上是全局安装,这通常需要有管理员权限或者以root身份安装,这样安装的库文件对每个项目和用户都是存在的。而虚拟环境只对你创建的虚拟环境有效,对于虚拟环境之外是无效的。

参考:http://www.pythonforbeginners.com/basics/how-to-use-python-virtualenv

使用方式:进入建立的虚拟环境文件夹,运行 source bin/activate 便可以使用

方案二:使用 py -2   和 py -3 分别使用python2x python3x   使用pip 和 pip3分别进行包管理

 3. urlopen报错:http.client.RemoteDisconnected: Remote end closed connection without response

利用 urllib 发起的请求,UA 默认是 Python-urllib/3.5 而在 chrome 中访问 UA 则是 User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36,因为服务器根据 UA 来判断拒绝了 python 爬虫。

解决办法:

将Python 伪装成chrome可以顺利得到数据. 不知道为什么但是至少我的问题解决了,有时间再细看

4. python中文编码

在脚本开头加入 #-*- coding:utf-8 -*-

5. windows 路径问题:unicodeescape' codec can't decode bytes in position XXX

原因:window 读取文件可以用\,但是在字符串中\是被当作转义字符来使用,所以’d:\a.txt’会被转义成’d:\a.txt’这是正确路径,所以不会报错。而"E:\Programming\Python\PythonDataAnalysis\datasets\usagov_bitly\example.txt"中经过转义之后可能就找不到路径的资源了,例如\u

解决办法:

方式一:转义的方式 'd:\\a.txt'

方式二:显式声明字符串不用转义 'd:r\a.txt'

方式三:使用Linux的路径/ 'd:/a.txt', 在Linux和Windows都可行

6. pandas 中Series DataFrame中不显示图片,但是在Ipython中运行可以显示

解决办法:在原代码中加入

import matplotlib.pyplot as plt 
你的plot()代码
plt.show()

7. python3 中 '/' 仅代表浮点数除法; ‘//' 代表整除 

  

 

推荐阅读