Python错误和异常


我们可以使用 try 语句处理异常。你可以使用 4 个子句(除了视频中显示的子句之外还有一个子句)。

  • try:这是 try 语句中的唯一必需子句。该块中的代码是 Python 在 try 语句中首先运行的代码。
  • except:如果 Python 在运行 try 块时遇到异常,它将跳到处理该异常的 except 块。
  • else:如果 Python 在运行 try 块时没有遇到异常,它将在运行 try 块后运行该块中的代码。
  • finally:在 Python 离开此 try 语句之前,在任何情形下它都将运行此 finally 块中的代码,即使要结束程序,例如:如果 Python 在运行 exceptelse 块中的代码时遇到错误,在停止程序之前,依然会执行此finally 块。

指定异常

我们实际上可以指定要在 except 块中处理哪个错误,如下所示:

try:
    # some code
except ValueError:
    # some code

现在它会捕获 ValueError 异常,但是不会捕获其他异常。如果我们希望该处理程序处理多种异常,我们可以在 except 后面添加异常元组。

try:
    # some code
except (ValueError, KeyboardInterrupt):
    # some code

继续阅读

Python中的Zip和Enumerate内置函数

在Python中提供了两个非常实用的方法分别为zipenumerate  函数,并且他们在循环中使用也是非常高效的,zip 返回一个将多个可迭代对象组合成一个元组序列的迭代器 ,而enumerate 是一个会返回元组迭代器的内置函数,这些元组包含列表的索引和值 。

zip函数

zip函数可以将多个可迭代对象组合成一个元组序列,每个元组都包含多个可迭代对象对应位置的值组合成多个元组并返回一个zip对象,比如下面的代码:

a = [1,2,3]
b = ['a','b','c']

c = zip(a,b)

for cc in c :
    print(cc)

"""
返回的值为:
(1, 'a')
(2, 'b')
(3, 'c')
"""

除了上面可以结合多个可迭代对象之外,还可以通过循环循环每个zip对象中的所有元组对应的值:

a = [1,2,3]
b = ['a','b','c']

c = zip(a,b)

for a,b in c:
    print(str(a) + '--' + b)

"""
返回的值为:
1--a
2--b
3--c
"""

继续阅读

Python数据集合

列表

列表是有序可变的数据集合,并且一对[]来表示这是一个列表,元素之间逗号分隔,每个数据之间有逗号分隔,列表基本上可以包含很多数据类型,下面就是一个典型的列表:

list = [1,2.2,'ok',bool]

在上面的列表中存储了数据(整型、浮点型、字符串、布尔值),包含我们下面看见的几种集合类型都是可以当作列表的子元素的。

当然也可以从列表中取出数据,因为列表是有序的,所以我们可以通过索引从0开始进行取数据,你需要注意的是所有可以用索引进行得到值的都是从0开始,比如下面的代码取出了列表第一个和第三个数据。

list = [1,2.2,'ok',bool]
list[0]  # 1
list[2]  # 'ok'

除了0开始的整数,还可以用负数,比如-1表示倒数第一个值,-2表示倒数第二个值,以此类推。

list = [1,2.2,'ok',bool]
list[-1]  # bool
list[-2]  # 'ok'
列表切片

除此之外,列表还支持切片的功能,就相当于一块肉,我们通过菜刀把这块肉切成一片一片的,方便我们炒菜(方便处理)。切片同样和索引一样存在列表变量名后的[]里面,大概语法如下:

list[起始位置:截至位置(但不包括本位置的值):步数]

继续阅读

Python数据类型与操作符

算术运算符

  • +
  • -
  • *
  • /
  • % 取余(相除后的余数)
  • ** 取幂(注意 ^ 并不执行该运算,你可能在其他语言中见过这种情形)
  • // 相除后向下取整到最接近的整数

整数、浮点数

数字值可以用到两种 python 数据类型:

  • int – 表示整数值
  • float – 表示小数或浮点数值

你可以通过以下语法创建具有某个数据类型的值:

x = int(4.7)   # x is now an integer 4
y = float(4)   # y is now a float of 4.0

你可以使用函数 type 检查数据类型:

>>> print(type(x))
int
>>> print(type(y))
float

继续阅读

Apache2-https安装教程

环境

  • CentOS Linux release 7.5.1804
  • Apache/2.4.6 (CentOS)
  • root用户

前言

首先我们需要建立vhost文件,在目前的环境中安装的Apache会自动把目录为/etc/httpd/conf.d下的所有*.conf文件引入到配置文件/etc/httpd/conf/httpd.conf中加载,所以我们只需要在/etc/httpd/conf.d目录下配置我们的虚拟主机文件。

免费的证书我们可以通过证书授权机构Let’s Encrypt 获取,并且我们可以通过Certbot(由Let’s Encrypt推出的获取证书的客户端 )进行生成证书,Certbot提供了几种方式进行生产,我们选择最简单的方式certbot-auto来进行自动配置

0x0001

通过编辑器编辑vhost文件

vim /etc/httpd/conf.d/vhost.conf

添加以下的内容,括号及括号内的内容自行去掉

<VirtualHost *:80>
ServerAdmin XXX@xxx.cn(邮箱)
directoryIndex  index.html index.php index.htm
ServerName XXXX.com(域名)
DocumentRoot /www/web(网站目录)
<Directory "/www/web(网站目录)">
    Options -Indexes

    AllowOverride All

    Require all granted
</Directory>
</VirtualHost>

继续阅读