运维初学PythonDay04

创建模块

每一个以.py作为结尾的python文件都是一个模块

不要与系统中已经存在的模块名重名

模块文件去掉后面的.py扩展名即为模块名

模块的导入

为什么要导入模块 简化代码 提高效率 1.import random

2. from random import randint

3 import random as rd 别名

Return返回值

return 表示函数的终 值 默认加 return None

模块的加载

一个模块只会被加载一次

导入模块的特性

当模块直接执行时__name__等于__main__

当模块被其他模块执行时__name__ 就是该模块的名字

防止在被其他文件导入时显示多余的程序主体部分

随机密码string模块

string.digits生成所有数字

string.ascii_letters 生成所有大小写字母

def suijishu(n=8):
    import random,string
    sum=""
    for i in range(n):
        suiji = random.choice(string.digits+string.ascii_letters)
        sum +=suiji
    return sum
if __name__ == '__main__':
    print(suijishu(5))

Time模块

时间戳 从1970年1月 1日到此时此刻所经历的秒数 结构化时间 (struct_time)

由9个元素组成 结构化时间中的属性含义:

tm_year:年, tm_mon:月, tm_mday:日, tm_hour:时, tm_min:分, tm_sec:秒, tm_wday:星期(0-6,周日为0), tm_yday:今年第几天, tm_isdst:是否夏令时

返回结构化的函数有gmtime(),localtime(),strptime()

1.time.localtime([secs]):将一个时间戳转换为当前时区的结构化时间struct_time

2. time.gmtime([secs]):和localtime()方法类似,gmtime()方法是将一个时间戳转换为UTC时区(0时区)的struct_time。

3. time.time():返回当前时间的时间戳

4. time.mktime(t):将一个struct_time转化为时间戳。

5. time.sleep(secs):线程推迟指定的时间运行。单位为秒。

6.time.strftime(format[, t]):把一个代表时间的元组或者struct_time(如由time.localtime()和time.gmtime()返回)转化为格式化的时间字符串 如果为指定t ,将传传入localtime()

7.time.strptime(string[, format]):把一个格式化时间字符串转化为struct_time。实际上它和strftime()是逆操作。

时间样式

%Y年%m月%d日%H时%M分%S秒%Z时区的名字

%w一个星期中的第几天 (0-6)0是星期日

只有结构化时间可以相互比较,越靠后的时间越大

一 、案列:一段时间段的日志否和要求的去取出来

import time
t9=time.strptime("2030-01-02 09:00:00","%Y-%m-%d %H:%M:%S")
print(t9)
t12=time.strptime("2030-01-02 12:00:00","%Y-%m-%d %H:%M:%S")
print(t9)
with open('/opt/myweb.log',mode="r") as fobj:
    for line in fobj.readlines():
        t=time.strptime(line[:19],'%Y-%m-%d %H:%M:%S')
        if t9<= t <=t12:
            print(line,end="")
  1. 链式赋值

a=b=20 底层是两个 内存的存储空间c=d=[1,2,3]

c.append(123)

c,d都变了 共用一组内存可变的类型

2.变量的多元赋值

变量的个数与值的个数相等

e,f=”hello”,100

g,h=”13″ #这个右边为可迭代对象

x,y=[123,456]

3.交换两个变量的值

a,b=10, 20

a,b=b,a

print(a,b)此时发现已经改变

内建函数

list()把可迭代对象转换为列表

str()把obj对象转换为字符串

tuple()把一个可迭代对象转换成一个元组对象