问题1
ImportError: Something is wrong with the numpy installation. While importing we detected an older version of numpy in ['/home/ubuntu/.local/lib/python3.5/site-packages/numpy']. One method of fixing this is to repeatedly uninstall numpy until none is found, then reinstall this version
解决方法:翻译了照做即可,“ImportError:numpy安装有问题。 导入时我们在['/home/ubuntu/.local/lib/python3.5/site-packages/numpy']中检测到了旧版本的numpy。 解决此问题的一种方法是重复卸载numpy,直到找不到,然后重新安装此版本”,pip3 uninstall 多次直到提示No modules 再安装。
问题2
ValueError: not enough values to unpack (expected 2, got 1
解决方法:百度上多半提到是因为“出现错误的原因是读取的文件有问题,读取的文件内不能包含换行符。将txt文件的内容中所有的换行去掉即可!”实际项目中是由于使用split取文件名进行切割,文件名不符合要求无法识别。
问题3
Python.h:没有那个文件或目录,错误的方法
解决方法:缺少静态库,安装python-dev,这是Python的头文件和静态库
sudo apt-get install python-dev
问题4
Python打印含有中文的List时出现乱码,形如“\xe4\xb8...” 等等的编码
解决方法:
- 使用 decode('string_escape') 来达成
>>> a = ['中文', 'ab']
>>> print a
['\xe4\xb8\xad\xe6\x96\x87', 'ab']
>>> print str(a).decode('string_escape')
['中文', 'ab']
- 使用 uniout 来达成
安装: sudo pip install uniout # Source code: https://github.com/moskytw/uniout
>>> a = ['中文', 'ab']
>>> import uniout
>>> print a
['中文', 'ab']
- 直接取用 _uniout
从上述 uniout Project 直接取用 _uniout.py
>>> a = ['中文', 'ab']
>>> import _uniout
>>> print _uniout.unescape(str(a), 'utf8')
['中文', 'ab']
来源:旅行箱和梦想-博客园
问题5
Python给字符串前补0
解决方法:python中有一个zfill方法用来给字符串前面补0,非常有用
n ="123"
s =n.zfill(5)
asserts =="00123"
#zfill()也可以给负数补0
n ="-123"
s =n.zfill(5)
asserts =="-0123"
#对于纯数字,我们也可以通过格式化的方式来补0
n =123
s ="%05d"%n
asserts =="00123"
问题6
python 从外部获取传入的参数
解决方法:有时候我们在执行python程序的时需要接收到外部传入的参数,python的 sys.argv[]就能实现。
import sys #引入模块
str = sys.argv[1]
print str
问题7
pip: no module named _internal(pip损坏)
解决方法:
For pip2.7
you can at first curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
then python2.7 get-pip.py --force-reinstall
to reinstall pip
杂项
- 取时间戳
str(time.time())
- 中文注释报错
#-*-coding:utf-8-*-
- 字符大小写转换
str.lower()
- 取a和b之间的随机整数
random.randint(a,b)
- pip安装tensorflow后运行有warning信息
import os
os.environ["TF_CPP_MIN_LOG_LEVEL"] = "2"
TensorFlow的日志级别分为以下三种:
TF_CPP_MIN_LOG_LEVEL = 1 //默认设置,为显示所有信息
TF_CPP_MIN_LOG_LEVEL = 2 //只显示error和warining信息
TF_CPP_MIN_LOG_LEVEL = 3 //只显示error信息
问题8
PHP取json头部有乱码锘縶 导致json无法解析
解决方法:
BOM问题,如果是文件,改为utf-8无BOM格式。
如果不是,去掉前面多的两个字符,PHP代码如下:
function removeBOM($str = ‘‘)
{
if (substr($str, 0,3) == pack("CCC",0xef,0xbb,0xbf)) {
$str = substr($str, 3);
}
return $str;
}