zoukankan      html  css  js  c++  java
  • Python-6

    1、匿名函数  lambda

    这个函数的功能很简单,只用一次

    lambda x:x+1   # 冒号后面的是函数体,也是函数的处理逻辑,冒号前面的是返回值

    2、列表生成式

    M =[i for i in range(1,101,2)]   第一个i 表示循环i

    l2 = (i for i in range(1,101,2))   #生成100以内的奇数

    备注说明:

    外面的小括号的话,它就不是一个list了,它是一个生成器,

    生成器比list要节省内存,它是每次循环的时候,会根据规则计算一个元素,放在存里面

    list 它是把所有的元素都放在内存里面的

    3、常用模块

    常用模块有:

    os/sys/time/datetime/hashlib

    # os模块
    import os
    #对操作系统的一些操作
    # print(os.getcwd()) #获取当前工作目录 不常用 wins/Linux下通用的命令
    # os.chmod("/usr/local",7) #给文件/目录加权限 主要是针对linux下面的权限添加,对wins下面不好使
    # print(os.chdir("../"))#更改当前目录 ../代表上一级目录
    # print(os.getcwd()) #上面的代表是更改目录到它的上一级目录,可以在通过获取当前工作目录来确认目录是否变更过了

    # print(os.makedirs("nhy/python")) #递归创建文件,父目录不存在是,创建父目录
    # print(os.makedirs('test1')) #返回None
    # print(os.mkdir("zll/huangrong")) #创建文件夹
    #区别 makedirs 创建文件夹的时候,如果父目录不在会自动帮你创建父目录
    #创建多层的mkdir会报错

    # print(os.removedirs("nhy/python"))#递归删除空目录
    # print(os.rmdir('test1')) #删除指定文件夹
    #二个只能删除空目录,目录下面有文件的话,就不能删掉

    # print(os.remove("test")) #只能删除文件
    # os.rmdir('test2') #只能删文件夹

    # print(os.listdir('d:\')) #列出一个目录下的所有文件和文件夹
    # os.rename('test1','test2')#重命名

    # print(os.stat("上周回顾-my.py")) #获取文件信息

    # print(os.linesep) #当前操作系统的路径分隔符
    # print(os.linesep) #当前操作系统的换行符
    # print(os.pathsep) #当前操作写的环境变量中每个路径的分隔符,linux是:,windows是;

    # print(os.environ) #当前系统的环境变量
    # print(os.name) #当前系统名称 wins系统都是nt,linux都是posix

    # os.system('ipconfig') #执行操作系统命令的,但是获取不到结果
    # res =os.system('ipconfig')
    # print('res--',res) #获取不到结果验证,用一个变量来接收命令, 打印后res--0

    # res = os.popen('ipconfig').read() #可以获取到命令执行的结果 .read()函数的作用是执行完命令后获取到命令的结果
    # print('res--',res)


    # __file__ #获取到当前文件的绝对路径
    # print(os.path.abspath(__file__))#获取绝对路径 ,参数用__file__,就可以获取到当前文件的绝对路径
    # print(__file__) #打印的结果是得到了当前文件的绝对路径,但是用的分隔符是/

    # print(os.path.split("/usr/hehe/hehe.txt")) #分隔路径和文件名

    # print(os.path.dirname("d:\python\day5")) #获取父目录,获取它的上一级目录

    # print(os.path.basename("d:\python\day5"))#获取最后一级,如果是文件显示文件名,如果是目录显示目录名

    # print(os.path.exists("/usr/local"))#目录/文件是否存在

    # print(os.path.isabs("../day5")) #判断是否是绝对路径

    # print(os.path.isfile("xiaohei.py")) #判断是否是一个文件
    #isfile()的作用:1,文件要存在 2 必须是一个文件

    # print(os.path.isdir("/usr/loacal")) #是否是一个路径 目录是否存在

    # size = os.path.getsize('字典排序2-my.py') #获取文件的大小
    # print(size)

    # print(os.path.join("root",'hehe','a.sql')) #拼接成一个路径

    #os.walk()
    # for data in os.walk('D:Pythonexercises-scriptPython0316day6'):
    # print(data)

    # for abs_path,dir,file in os.walk(r'D:Pythonexercises-scriptPython0316day7'):
    # print(abs_path,dir,file)
    #路径前面加r 意思就是路径的意思
    # abs_path 当前循环的绝对路径
    # dir 目录下面所有的文件夹 [ ]
    # file 目录下面的所有文件 []


    #abs_path 当前循环的绝对路径
    #dir 目录下面所有的文件夹 [ ]
    #file 目前下所有的文件

    import sys
    # print(sys.platform) #判断操作系统
    # print(sys.path) #python的环境变量

    # sys模块
    #Python导入模块时候的顺序:
    #1.从当前目录下找需要导入的Python文件
    #2.从python的环境变量中找 sys.path

    #导入模块的实质:就是把这个把这个python 文件从头到尾执行一遍

    #导入文件方法
    # import nhy #导入nhy这个文件 只导入文件,运行后是把nhy这个文件执行一遍
    # nhy.my() #调用函数
    # print(nhy.name) #打印这个文件中的变量

    #另一种导入模块的方法
    # from nhy import my,name
    # my() #调用函数
    # print(name)
    #以上二种方式的结果是一样的

    # from nhy import * #导入所有的 一般不建议这样导入

    # 验证:从python的环境变量中找 sys.path
    #首先先打印下看有那些python环境变量,把文件放到一个目录下
    # import sys
    # print(sys.path)

    # import nhy #把nhy这个文件C:\Miniconda3\lib中
    # nhy.my() #在自己目录下找不到文件,从环境变量中能找到,文件也不会报错
    #如果自己的目录下面和python的某一个环境变量中都有相同的一个文件 如:nhy
    #那么他会先找自己目录下的这个文件,自己目录下文件中没有my()所以运行后会报错,在自己目录下面找到文件后,不会在去Python的
    # 其他环境变量中去找这个文件

    #导入其他目录下的文件的方法:先把目录添加到环境变量中,在导入文件就可以了
    # import sys
    # sys.path.append('../day5') #../返回到上一级目录
    # # sys.path.append('D:Pythonexercises-scriptPython0316day5') #把day5文件夹添加到环境变量里面
    # print(sys.path)
    # import radom7_my #导入刚添加好的文件中的一个文件,标红的原因是因为在当前目录下找不到,但是在环境变量中有,所以运行后不会报错

    #使用append()添加环境变量的话,添加变量是添加到了最后面,那么导入文件的时候,要从头开始找,一直到最后一个才找到
    #提高查找环境变量的性能,可以把需要添加的目录放在环境变量的第一个,这样第一次就找到了
    #方法 insert():
    # sys.path.insert(0,r'../day5')
    # print(sys.path)
    # import radom7_my

    import sys
    print(sys.argv) #用来获取命令行里面运行python文件的时候传入的参数
    # 可以通过python下面的Terminal看这个功能的效果 ,打开Terminal cd day6 进入到day6目录下
    # 然后运行文件,如:python 常用模块3-my.py --help
    # --help作为一个参数在list中,运行后的结果是一个list ['常用模块3-my.py', '--help']
    #这个list默认就有一个参数,就是当前这个文件名

    添加环境变量   (导入模块的时候,需要添加环境变量)

    sys.path.apped

    sys.path.insert(0,'D:Pythonscript')

    二,时间模块

    1、导入时间模块 

    1)时间戳,  从unix 元年到现在过了多少秒

    2)格式化好的时间

    如:print(time.time())  #获取当前时间戳

    time.sleep(10)  #等待10秒

    today = time.strftime('%Y-%m-%d %H:%M:%S') #获取格式化好的时间  年月日 小时分秒  

    备注:年要大写  月日小写,需要显示时分秒的话,需要大写和年月日区分

    时间戳转换成时间元祖

    1、时间戳转换成时间元祖  time.localtime()

    2、在把时间元祖转换成格式化的时间

    #把格式化好的时间转化成时间戳
    tp=time.strptime('2018-4-21','%Y-%m-%d')
    print(time.mktime(tp))

    时间模块:

    import datetime
    print(datetime.datetime.today()) #获取当前时间,精确到秒
    print(datetime.date.today())#精确到天
    # res = datetime.date.today()+datetime.timedelta(days=5) #获取5天后的时间 5天前的时间days=-5
    res = datetime.date.today()+datetime.timedelta(days=1,minutes=5,seconds=5,weeks=5)

  • 相关阅读:
    WSL2
    坐标系变换
    Python websocket
    PAJ7620 IIC 通信
    Python中assert的使用
    Python中循环的使用
    Linux 生成指定大小文件
    SVN不显示log 显示1970年问题
    阿里云 CS实例 开机自运行脚本文件
    生成UDS安全算法DLL文件
  • 原文地址:https://www.cnblogs.com/happyna/p/14593188.html
Copyright © 2011-2022 走看看