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:\Python\exercises-script\Python0316\day6'):
# print(data)

# for abs_path,dir,file in os.walk(r'D:\Python\exercises-script\Python0316\day7'):
# 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:\Python\exercises-script\Python0316\day5') #把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:\Python\script')

 

 

二,时间模块

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)

posted @ 2021-03-29 16:59  天台月光  阅读(53)  评论(1编辑  收藏  举报