一、内置函数

内置函数就是python自带的函数,不需要自己定义,可以直接使用。

  1. print(sum([1,2,3])) #求和的
  2. print(min("123")) #最小值
  3. print(max([1,2,3])) #最大值
  4. print(round(1.9842,2)) #保留N位小数的
  5. s = "346346312"
  6. print(sorted(s,)) #排序,它返回一个list,默认是升序
  7. print(sorted(s,reverse=True)) #排序,指定reverse参数为True就是降序
  8. print(list(reversed(s))) #反转变量的,默认返回的是一个生成器,你想看结果的话,转成list
  9. print(dir(s)) #查看某个变量的所有属性(方法)
  10. print(divmod(10,3)) #除法取商和余数,返回两个值,第一个是商,第二个是余数
  11. quit() #退出程序,代码里面遇到它,程序就结束了,后面还有多少代码都不会再运行
  12. exit() #退出程序
  13. a="{'a':1}"
  14. b = "1+1"
  15. print(eval(a) )#执行简单python代码的,定义变量,运算
  16. print(eval(b))
  17. code="""
  18. for i in range(5):
  19. print(i*3)
  20. """
  21. print(code)
  22. exec(code) #执行python代码的,只要是合法的代码,都可以帮你运行
  23. country = "中国"
  24. def hhh():
  25. name = "死循环"
  26. age = 19
  27. print(locals())
  28. print(globals())
  29. hhh()
  30. # locals() #获取当前函数里面的所有局部变量,返回的是一个字典,字典里面的key是变量名,value是变量的值
  31. # globals() #获取所有全局变量
  32. names = ["a","b","c","d"]
  33. for index,n in enumerate(names,1):
  34. print(index,n)
  35. # enumerate() #枚举函数,可以传数组或者list,会自动计算下标,也可以指定从几开始,默认从0开始
  36. l1 = [1,2,3]
  37. l2 = ["a","b","c"]
  38. l3 = ["sdg","sdg","sdg"]
  39. for a,b,c in zip(l1,l2,l3):
  40. print(a,b,c)
  41. print(list(zip(l1,l2,l3))) #把多个数组变成一个二维数组,或者想同时循环N个list的时候,可以用zip
  42. # zip()
  43. usernames = ["admin","dev","sdfsdf"]
  44. passwords = ["123456",2332523,3252352]
  45. print(list(zip(usernames,passwords)))
  46. print(dict(zip(usernames,passwords)))
  47. def func1(n):
  48. if n % 2 == 0:
  49. return True
  50. return False
  51. result = filter(func1, numbers)
  52. result2 = filter(lambda n: n % 2==0, numbers) # 第一个参数要传一个函数名,第二个参数是一个可以循环的对象(list、set、str、dict,tuple)
  53. print(list(result))
  54. print(list(result2))
  55. #filter()
  56. # 第一个参数要传一个函数名,第二个参数是一个可以循环的对象(list、set、str、dict,tuple)
  57. #他会循环list,把list的每一个参数传给指定的函数,把函数返回true的参数保留下来
  58. def zzz(n):
  59. return str(n).zfill(2)
  60. # ret = map(lambda n:str(n).zfill(2),range(1,34))
  61. ret = map(zzz,range(1,34))
  62. #第一个参数要传一个函数名,第二个参数是一个可以循环的对象(list、set、str、dict,tuple)
  63. #循环调用函数,它会保存每次调用函数返回的结果,放到一个list
  64. print(list(ret))
  65. print(all([True,True,True,False])) #list每个元素都是true,那么就返回true,如果有一个为false,那么就返回false
  66. print(any([1,2,3,0])) #list只要有一个元素是true,那么就返回true,否则就返回false
  67. print(chr(35)) #把ascii转成对应的字符
  68. print(chr(98))
  69. print(ord("#")) #把对应的字符转成ascii
  70. print(ord("a"))
  71. print(bin(89)) #10进制转二进制
  72. print(oct(10000)) #10进制转8进制
  73. print(hex(10000)) #10转16进制
  74. print(int("2710",base=16)) #把16进制转成10进制

二、os模块

  1. # os.makedirs("logs/2021-10-10") #创建多层的文件夹,父目录不存在的时候会帮你创建
  2. # os.rmdir("xiaobai") #删除空文件夹
  3. #os.removedirs("logs/2021-10-10") #删除空文件夹,会连带着父目录一起删除
  4. # print(os.name) #获取当前操作系统的名称
  5. # print(os.cpu_count()) #获取当前系统cpu核心数
  6. # os.chdir("/Users/hansen/PycharmProjects/homework/day2") #进入到某个目录
  7. # print(os.listdir())
  8. # print(os.getcwd()) #获取当前所在的目录
  9. # ret = os.system("ifconfig1")
  10. #执行操作系统命令,只能执行命令,如果命令有结果,是拿不到的,它返回的是命令执行的状态,返回是0的话
  11. #代表命令执行成功,不是0代表命令执行失败
  12. # ret = os.popen("ifconfig").read()
  13. #执行操作系统命令,调用read方法拿到结果
  14. #os.listdir() #获取某个目录下的内容,如果不传路径,那么就获取当前目录下的
  15. #os.remove() #删除文件,传入的是一个文件路径
  16. #os.rename() #重命名,传入一个旧的文件名和一个新的文件名
  17. # os.mkdir("logs") #创建文件夹
  18. # os.chdir("/Users/hansen/PycharmProjects/homework/day2") #进入到某个目录
  19. # print(os.path.join("logs","2021","a.py"))#拼路径的
  20. # print(os.path.sep) #当前系统的的路径分隔符
  21. # print(os.path.isdir("ssq.txt")) #判断是否为文件夹
  22. # print(os.path.isfile("ssq.txt")) #判断是否为文件
  23. # print(os.path.exists("sdgsdg.txt")) #判断路径是否存在
  24. #print(os.path.abspath("../day4/logs")) #把相对路径转成绝对路径
  25. #print(os.path.dirname("/User/abc/a.txt") )#取父目录
  26. #os.path.getsize() #获取文件的大小
  27. # print(os.path.getatime("ssq.txt") )#最后一次访问的时间,比如看过它
  28. # print(os.path.getctime("ssq.txt")) #文件变化时间,大小改变/权限改变/归属人改变
  29. # print(os.path.getmtime("ssq.txt")) #最近一次修改时间,文件内容被修改
  30. # print(os.path.split("/User/abc/a.txt"))
  31. #分割路径的,他会把文件名和你的路径分割开,返回两个参数,第一个是路径,第二个是文件名
  32. for cur_dir,dirs,files in os.walk("e"): #递归查找目录下面所有的文件夹
  33. print(cur_dir,dirs,files)

三、练习

查找电脑下面mp4文件

  1. import os
  2. #mp4
  3. def find_file(keyword,path="/"):
  4. for cur_dir,dirs,files in os.walk(path):
  5. for file in files:
  6. if keyword in file:
  7. abs_path = os.path.join(cur_dir,file)
  8. print("发现目标文件%s" % abs_path)
  9. find_file(".mp4")