Python--os模块


 1 import os
 2 
 3 print(os.listdir(r'E:\python\pycase'))
 4   #列出某个目录下面的文件夹和文件。
 5   #返回的是列表类型。
 6   #注意:只列到目录,不到文件,否则提示目录名称无效。目录要加引号。
 7   # r作用是防止转译
 8   #文件要加引号。
 9   #只可输出第一级目录,文件夹内的文件不再展示
10 
11 print(os.path.isfile('111.txt'))
12   #判断当前目录下的py文件是否是文件。
13   # 需提供绝对路径,此处因在当前py文件同级目录故省略
14 
15 print(os.path.isdir(r'E:\autotest\eds_autotest\testcase\111.txt'))
16   #判断当前目录下的py文件是否是文件夹。
17 
18 print(os.mkdir("test1"))
19 print(os.mkdir("haha/test1"))
20 print(os.makedirs("haha/test"))
21   # 创建文件夹
22   # mkdir与makedirs均可创建一级文件夹,
23   # 若上级目录不存在,前者会报错,后者会自动创建父目录,若求省心,可直接使用后者。
24 
25 os.rmdir("222.txt")
26   #仅能删除空文件夹,需传绝对路径,不可删除文件
27 
28 print(os.getcwd()) # 结果:E:\python\pycase
29   # #输出当前运行文件的目录
30 os.chdir(r"E:\python\pycase\luelue\test")
31   #修改当前目录,只是修改执行命令的地址,不会修改已有文件路径
32 print(os.getcwd()) # 结果:E:\python\pycase\luelue\test
33 
34 os.rename("haha","luelue")
35 os.rename("111.txt","222.txt")
36   #修改文件或文件夹名称。前面待修改,后面修改后
37 
38 print(os.cpu_count())
39   #当前电脑有几个CPU
40 
41 os.system("dir") # windows环境查看当前文件夹,mac是ls
42   # 执行操作系统命令
43   # windows执行因为字符集编码原因,中文会乱码
44 result1 = os.system("ipconfig")
45 print("result1~~~",result1) # 结果是0
46   # 执行结果是不能拿到的,如果输出结果是0,而不是执行命令后的结果。0表示执行成功,其他表示不成功
47 result2 = os.popen("ipconfig").read()
48 print("result2~~~",result2)
49   #这个命令可以拿到系统命令的执行结果,且无乱码!
50 
51 for cur_dir,dirs,files in os.walk(r'E:\python\pycase'):
52 print('当前文件夹,',cur_dir)
53 print('当前目录下的文件夹',dirs)
54 print('当前目录下的文件',files)
55 break
56   #可以传绝对路径,也可以相对路径(当前运行文件的同级目录),luelue可以,pycase不可以
57 
58 #需求:指定一个目录,找到这个目录下是否有mp4\avi结尾的文件
59 #1、获取这个目录下有那些文件,os.listdir不可,需用os.walk
60 #2、判断文件后缀
61 #3、输出文件路径
62 def find_movie(path):
63 for cur_dir, dirs, files in os.walk(path):
64 print("当前查找%s"%cur_dir)
65 for file in files:
66 if file.endswith(".mp4") or file.endswith(".avi"):
67 print ("在这个目录下发现小电影:%s"%cur_dir)
68 break
69 find_movie("E:\python\pycase")
70 
71 print(os.path.getsize("os模块.py"))#获取当前文件大小
72 print(os.path.dirname("pycase/luelue")) #获取上一级目录,以相对路径运行,则输出相对路径,如结果为pycase
73 print(os.path.dirname("E:\python\pycase\luelue"))#以绝对路径运行,则输出绝对路径,如结果:E:\python\pycase
74 print(os.path.dirname(__file__)) #获取当前文件的父目录
75 print(os.path.join("pycase","luelue","test","开启.mp4"))#连接几个路径
76 print("pycase"+"\\" +"luelue"+"\\" +"test"+"\\" +"开启.mp4") #两个基本相等
77   # 用+号连接,需要自己判断是什么环境,判断自己需要什么分隔符,但用join不需要
78 print(os.path.exists("222.txt"))#判断文件是否存在,True
79 print(os.path.exists(r"E:\python\pycase\luelue\test\开启.mp4"))#True
80 print(os.path.split("E:\python\pycase"))#结果:'E:\\python', 'pycase'
81 print(os.path.split(r"python\pycase\luelue\test\开启.mp4"))
82   #分隔文件名与文件路径,mac无文件名时输出空,windows把最后一层作为文件名输出
83 print(os.path.getctime("222.txt"))#获取文件的创建时间,输出的是时间戳
84 print(os.path.getmtime("222.txt"))#获取文件的修改时间,modify
85 print(os.path.getatime("222.txt"))#获取文件最近一次访问时间

将文件创建时间的时间戳转换为年月日时分秒的方法
1 creat_time = os.path.getctime("222.txt") #1646055876.3876796
2 print(time.ctime(creat_time))#Mon Feb 28 21:44:36 2022
3 
4 ime_tuple = time.localtime(1646055876)#去掉小数点后可用strftime,直接用会报错
5 print(time.strftime('%Y%m%d%H%M%S',ime_tuple))#20220228214436