如果您想了解python3ldap认证和python3ldap3的知识,那么本篇文章将是您的不二之选。我们将深入剖析python3ldap认证的各个方面,并为您解答python3ldap3的疑在这篇文
如果您想了解python3 ldap 认证和python3 ldap3的知识,那么本篇文章将是您的不二之选。我们将深入剖析python3 ldap 认证的各个方面,并为您解答python3 ldap3的疑在这篇文章中,我们将为您介绍python3 ldap 认证的相关知识,同时也会详细的解释python3 ldap3的运用方法,并给出实际的案例分析,希望能帮助到您!
本文目录一览:- python3 ldap 认证(python3 ldap3)
- 0基础学python3心得体会 - python3学习笔记 - python3基础
- CentOs 7 同时安装python2、python3,如何创建独立的python3运行环境:virtualenv
- CentOS 7安装Python3.6过程(让linux系统共存Python2和Python3环境)
- CentOS7 安装 Python3.x,Python2 和 Python3 共存
python3 ldap 认证(python3 ldap3)
python3 ldap 认证
#! /usr/bin/python
# -*- coding:utf-8 -*-
# Author: panb
import logging
from ldap3 import Server, Connection, ALL
logger = logging.getLogger("oauth")
LDAP = {
"server": "172.27.27.220",
"port": 389,
"use_ssl": False,
"domain": "jcici.com",
"base": "ou=People,dc=jcici,dc=com"
}
class LdapAdmin(object):
def __init__(self):
"""
init
"""
self.host = LDAP[''server'']
self.port = LDAP.get(''port'', 389)
self.use_ssl = LDAP.get(''use_ssl'', False)
self.domain = LDAP[''domain'']
self.base = LDAP[''base'']
self.search_filter = "uid={uid}"
def login(self, username, password):
"""
登录
:return:
"""
server = Server(host=self.host,
port=self.port,
use_ssl=self.use_ssl,
connect_timeout=15,
get_info=ALL)
try:
conn = Connection(server,
user=f"uid={username},{self.base}",
password=password,
check_names=True,
lazy=False,
auto_bind=True,
receive_timeout=30
)
except Exception as e:
err_msg = f''LDAP 认证失败:{e}''
logger.error(err_msg)
return False
else:
msg = conn.result
print(msg)
conn.unbind()
return True
# print(server.info)
# print(server.schema)
# _username = (conn.extend.standard.who_am_i())
# print(_username)
ldap_ins = LdapAdmin()
resp = ldap_ins.login("panbiao", "123456")
print(resp)
0基础学python3心得体会 - python3学习笔记 - python3基础
基础预热
print()会依次打印每个字符串,遇到逗号“,”会输出一个空格,可以打印整数,或者计算 结果
Python提供了一个input(),,可以让用户输入字符串,并存放到一个变量里。
#开头的语句是注释,注释是给人看的,可以是任意内容,解释器会忽略掉注释。
其他每一行都是一个语句,当语句以冒号“:”结尾时,缩进的语句视为代码块。
请务必注意,Python程序是大小写敏感的
数据类型
python的数据类型有整数、浮点数、字符串、布尔值、空值、字典、列表、变量和常量等多种数据类型,还允许创建自定义数据类型;;
python的字符串中也有转义\,字符\本身也要转义,所以\\表示的字符就是\;
如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r''''表示''''内部的字符串默认不转义, 如果你决定写的行数太多,不想每行都用/n,可以使用''''''...''''''的形式来写 如下:
print(''''''line1
line2
line3'''''')
输出结果和末尾加/n是一样的:
line1
line2
line3
布尔值可以用and、or和not运算。 and运算是与运算,只有所有都为True,and运算结果才是True; or运算是或运算,只要其中有一个为True,or运算结果就是True not运算是非运算,它是一个单目运算符,把True变成False,False变成True 布尔值经常用在判断中:
变量
在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量 变量名必须是大小写英文、数字和_的组合,且不能用数字开头
常量 在Python中,通常用全部大写的变量名表示常量
Python的整数没有大小限制
Python的浮点数也没有大小限制,但是超出一定范围就直接表示为inf
在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。
对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符
由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行: #!/usr/bin/env python3 # -*- coding: utf-8 -*-
列表(list)
1,list是一种有序的集合,可以随时添加和删除其中的元素
2,获取list最后一个元素有两种方法 len(list名)-1 / list名[-1]
3,往list中追加元素到末尾:list名.append(''追加内容'')
4,把元素插入到指定的位置:list名.insert(''插入内容'')
5,要删除list末尾的元素:list名.pop()
6,要删除list指定的元素:list名.pop(下标)
7,要把某个元素替换成别的元素,可以直接赋值给对应的索引位置 如:list名[1] = ''22222''
8,list里面的元素的数据类型也可以不同 如:list[''ssss'',1232,true]
9,list也可以作为另一个list的元素: 如:list1[123,''sss''] list2[ddd,list1] 如果想拿到123,可以list[0],也可以list2[1][0]
10,如果一个list中一个元素也没有,就是一个空的list,它长度为0
tuple
是一个有序列表,但是和list的区别是一但初始化,就不可以更改, tuple1 = (1,2,3) 不可变的tuple有什么意义?因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple;
条件判断
if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
elif <条件判断3>:
<执行3>
else: <执行4>
------------
if判断条件还可以简写
if x:
print(''True'')
只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False。
int():字符串转数字
循环
python的循环有两种: for...in和while
Python提供一个range()函数,可以生成一个整数序列,再通过list()函数可以转换为list。
while循环,只要条件满足,就不断循环,条件不满足时退出循环。break:提前结束循环;continue:跳出此次循环;
字典(dict)
d ={“key”:mogu ,“key1”:mogu2 }
1,把数据放入dict的方法,除了初始化时指定外,还可以通过key放入 d[''key''] = 67
2,要删除一个key,用pop(key)方法,对应的value也会从dict中删除
3,dict内部存放的顺序和key放入的顺序是没有关系的
4,和list比较,dict有以下几个特点:
1.查找和插入的速度极快,不会随着key的增加而变慢
2.需要占用大量的内存,内存浪费多。
set
s = set([1, 2, 3])
1,set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key
2,重复元素在set中自动被过滤
3,通过add(key)方法可以添加元素到set中
4,通过remove(key)方法可以删除元素
5,set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作
s1 = set([1, 2, 3])
s2 = set([2, 3, 4])
s1 & s2 --------》结果:{2, 3}
s1 | s2 --------》{1, 2, 3, 4}
Python replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。str.replace(old, new[, max])
sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。
CentOs 7 同时安装python2、python3,如何创建独立的python3运行环境:virtualenv
- 安装完成python3
- pip3 install virtuallenv
- 检查virtualenv已安装,我的路径 /usr/local/python3/lib/python3.6/site-packages/virtualenv.py
- python3 /usr/local/python3/lib/python3.6/site-packages/virtualenv.py /home/py3new (其中/home/py3new为独立运行环境目录)
- 进入/home/py3new/bin/检查python的版本 python3
CentOS 7安装Python3.6过程(让linux系统共存Python2和Python3环境)
CentOS 7系统自带了python2,不过可以不用2版本,直接使用python3运行python脚本就可以,但是千万别去动系统自带的python2,因为有程序依赖目前的python2环境,比如yum,动了yum就无法运行了,其他有的程序也可能会受影响。明白了上面的,然后就来安装python3.6:
安装步骤:
1. 安装依赖环境
# yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
2.下载python3
https://www.python.org/downloads/
1
|
# wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
|
3.安装python3
包安装在/usr/local/python3(具体安装位置看个人喜好)
创建目录:
1
|
# mkdir -p /usr/local/python3
|
解压下载好的Python-3.6.5.tgz包(具体包名因你下载的Python具体版本,我下载的是python3.6.5这里就以Python-3.6.5.tgz为例)
1
|
# tar -zxvf Python-3.6.5.tgz
|
4.进入解压后的目录,编译安装
如果编译安装过程有报错提示看我的另一个随笔写的解决办法http://www.cnblogs.com/shwee/p/9013851.html
1
2
|
# cd Python-3.6.5
# ./configure --prefix=/usr/local/python3
|
然后:make
1
|
# make
|
接着:make install
1
|
# make install
|
或者两步一起:make && make install
5.安装好了,建立python3的软链
1
|
# ln -s /usr/local/python3/bin/python3 /usr/bin/python3
|
6.并将/usr/local/python3/bin加入PATH
1
2
3
4
5
6
7
8
9
|
# vim ~/.bash_profile
# .bash_profile
# Get the aliases and functions
if
[
-
f ~
/
.bashrc ]; then
. ~
/
.bashrc
fi
# User specific environment and startup programs
PATH
=
$PATH:$HOME
/
bin
:
/
usr
/
local
/P
ython3
/
bin
export PATH
|
按ESC,输入:wq,按回车保存退出编辑。
修改完记得执行行下面的命令,让上一步的修改生效:
1
|
# source ~/.bash_profile
|
检查python3及pip3是否正常可用:
1
2
3
4
|
# python3 -V
Python
3.6
.5
# pip3 -V
pip
9.0
.3
from
/
usr
/
local
/P
ython3
/
lib
/
python3.
6
/
site
-
packages (python
3.6
)
|
出处:http://www.cnblogs.com/shwee/
CentOS7 安装 Python3.x,Python2 和 Python3 共存

原文链接 CentOS7 安装 Python 这么简单?
keywords: 云服务器,CentOS7, Python3,Python3,Linux
description: CentOS7 安装 Python 这么简单?centos7 安装 Python3 一看就会!
CentOS7 默认是安装了 Python2.7.x 的,所以在此之上安装 Python3.x 是可以和 Python2 共存的,下面我们就说说 CentOS7 怎么安装 Python3.x
首先登录到你的虚拟机或者云服务器,进入到如下的图形界面
我这里使用的是远程连接工具 xshell,可以使用别的远程连接工具,比如 CRT。接下来就可以输入 python -v
查看当前系统中的 Python 版本,
不出意外你会看到你的系统上默认安装了 Python2.7.x,现在我们需要在这个系统上安装 Python3.x
我们先安装 python 可能用到的依赖:
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel
我们最后其实是通过 wget 命令是下载 Python 资源包进行安装,所以我们要先检查 wget 命令是否有安装
如果没有 wget 命令,我们可以输入下面的命令来安装 wget
yum -y install wget
wget 命令安装完成之后就可以用下面的代码下载 Python 资源包了,下面以 Python3.6.5 为例
wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
命令执行完后,你就会发现在当前目录下会有一个 Python-3.6.5.tgz 的文件,接下来需要解压这个文件
tar -zxvf Python-3.6.5.tgz
解压之后进入到解压后的目录 cd Python-3.6.5
进行编译
./configure --prefix=/usr/local/python3
make && make install
如果编译时报错:configure: error: no acceptable C compiler found in $PATH
说明没有安装 gcc,安装一下 gcc 即可:yum install gcc
如果看到下面的日志输出,则表示编译完成
到这里我们虽然编译成功了,但是还不能直接使用,我们还需要下面的设置才行
ln -s /usr/local/python3/bin/python3 /usr/bin/python3 //链接Python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3 //链接pip3
这时候就可以测试一下可用不可用
python -v
pip -v
python3 -v
pip3 -v
最后刚才下载的 Python3 的压缩包和解压缩目录也是可以删除的
执行 rm -rf Python-3.6.5.tgz Python-3.6.5
即可
可能遇到的问题
can''t decompress data: zlib not available
解决办法yum -y install zlib*
下面是云服务器,可以自行选择
阿里云服务器
阿里云企业级服务器限时特惠
阿里云建站 速成美站
阿里云 SaaS 商标注册服务
CDN 爆款产品
腾讯云服务器
腾讯云境外服务器
腾讯云数据库
关于python3 ldap 认证和python3 ldap3的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于0基础学python3心得体会 - python3学习笔记 - python3基础、CentOs 7 同时安装python2、python3,如何创建独立的python3运行环境:virtualenv、CentOS 7安装Python3.6过程(让linux系统共存Python2和Python3环境)、CentOS7 安装 Python3.x,Python2 和 Python3 共存等相关知识的信息别忘了在本站进行查找喔。
本文标签: