Python 实践
Posted sunzhuli
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 实践相关的知识,希望对你有一定的参考价值。
Python on centos
python 2.6.6安装pip
yum install -y python-pip
或者手动安装pip, setuptools
python升级
python2.6升级到python3.6
先确保yum可用,且在root用户下运行 update_to_python3.sh脚本
python2.6升级到python2.7,需要安装pip, setuptools。而python3.6已经自带了。
(1)下载压缩包Python-3.6.1.tgz
(2)安装gcc
yum install gcc
(3)安装zlib
yum -y install zlib*
(4)修改yum源(手动去执行)
vi /usr/bin/yum
将#!/usr/bin/python修改为#!/usr/bin/python2.6
(5)设置pip源(先需要手动创建目录)(该步骤手动去执行)
mkdir ~/.pip
vi ~/.pip/pip.conf
python package相对导入,绝对导入
(1) python工程运行在windows环境,借助pycharm IDE, 能自动组织导入
(2) 运行在centos中,很容易出现模块找不到情况。
solution:
glance为顶层包,包括operation, util两个子包。glance包内全部采用相对导入。
程序主入口mian.py要放在与glance同一级目录。mian.py中只能采用绝对导入。
则不要再次加入,sys.path.append(os.path.abspath(‘../../glance‘))
from glance.opencv.star_detector import StarFeatureDetector
from . import star_detector
如果要执行main.py,则在main.py中不能包含相对导入。
python issue
python3 报错ssl
solution: 参考update_to_python3_with_ssl.sh
在编译之前增加:
yum -y install openssl-devel
./configure --prefix=/usr/local/python3/ --with-ssl
忽略抛出异常
import warnings
warnings.filterwarnings("ignore", category=DeprecationWarning)
lambda与列表推导式
x = []
for sentence in text:
out1 = text_to_word_sequence(sentence)
out2 = one_hot(str(out1), 5)
x.append(out2)
求最大值
列表推导式更简洁,[len(element) for element in x]
max_len = max([len(element) for element in x])
lambda定义一个匿名函数,在map方法中执行
max_len_2 = max(map(lambda element: len(element), x))
以上是关于Python 实践的主要内容,如果未能解决你的问题,请参考以下文章
《Python编程从入门到实践》+《流畅的Python》+《Python基础教程(第3版)》分析对比
Python-入门基础-《Python编程-从入门到实践》-第一章