模块讲解----os

os:跟操作系统相关的信息

os模块的增删改查

一、cd进入:

1 windowd:
2 os.chdir("D:/软件/pychar/data/s13")
3 print('获取当前位置:',os.getcwd())
4 
5 linux:
6 os.chdir("D:\\软件\\pychar\\data\\s13\\modle_os")
7 os.chdir(r"D:\软件\pychar\data\s13")
8 print('获取当前位置:',os.getcwd())

 

 

二、查询:

 1 #获取当前所在目录
 2 print('获取当前位置:',os.getcwd())
 3 
 4 显示结果:
 5 获取当前位置: D:\软件\pychar\data\s13
 6 
 7 
 8 
 9 #列出指定目录下的所有文件和子目录。包括隐藏文件,并以列表的方式打印:
10 #当前目录下的所有文件和文件夹:
11 print('打印当前目录下的文件和文件夹:',os.listdir('.'))
12 
13 显示结果:
14 打印当前目录下的文件和文件夹: ['practise1.py']
15 
16 
17 
18 #父级目录下的所有文件和文件夹:
19 print(os.listdir(".."))
20 显示结果:
21 父级目录下的所有文件和文件夹: ['.idea', 'Alex_atm', 'ATM_credit_card', 'CMDB', 'lepus', 'practice', 's13', 'shopping']
22 
23 
24 
25 #指定目录下的所有文件和文件夹:
26 print('指定目录下的所有文件和文件夹:',os.listdir(r'D:\\软件\\pychar\data'))
27 显示结果:
28 指定目录下的所有文件和文件夹: ['.idea', 'Alex_atm', 'ATM_credit_card', 'CMDB', 'lepus', 'practice', 's13', 'shopping']
29 
30 
31 
32 #显示当前目录为点:('.')
33 print(os.curdir)
34 输出结果:
35 显示当前目录: .
36 
37 
38 
39 #获取当前目录的父级目录为点点:('..')
40 print(os.pardir)
41 输出结果:
42 获取当前的父集目录: ..

 

三、创建:

1 #生产单级目录;相当于shell中的mkdir dirname:
2 os.mkdir(r"D:\a")
3 
4 #递归创建多层目录:
5 os.makedirs(r"D:\a\b\c")

 

四、删除:

 1 #删除单级空目录,若目录不为空则无法删除;报错:相当于shell中的rmdir dirname
 2 os.rmdir(r"D:\a")
 3 
 4 
 5 #递归删除目录(模块有文件,则不删除)
 6 #若目录为空,则删除,递归到上一级目录,若上一级目录也为空,则删除,以此类推。
 7 os.removedirs(r"D:\a\b\c")
 8 
 9 
10 #删除一个文件:
11 # os.remove(r'D:\a\b\c\aaa.txt')

 

五、修改:

1 #重命名目录名和文件名:
2 os.rename(r"D:\a\b\c1",r'D:\a\b\cd')
3 os.rename(r"D:\a\b\cf1.txt",r"D:\a\b\cf.txt")

 

 

显示不同平台之间的相关信息

 1 #获取目录/文件的属性:
 2 print(os.stat(r'D:\a\b\cd'))
 3 #os.stat_result(st_mode=16895, st_ino=562949953428257, st_dev=747945, st_nlink=1, st_uid=0, st_gid=0, st_size=0, st_atime=1501594367, st_mtime=1501594367, st_ctime=1501593961)
 4 #socket的时候的通知一下发多少个字节,到时候会用到这个。
 5 
 6 
 7 #输出操作系统特定的分隔符(win下为:\\   linux下为:"/")
 8 print(os.sep)
 9 #'\\'
10 
11 #输出当前平台使用的终止符,即换行符:(win下为:"\r\n"   linux下为:"\n")
12 print(os.linesep)
13 #'\r\n'
14 
15 
16 #输出用于分割文件路径的字符串:
17 print(os.pathsep)
18 #';'
19 
20 
21 #输出系统环境变量:
22 print(os.environ)
23 
24 
25 #输出字符串只是当前使用的平台;(win--> 'nt'   linux---> 'posix')
26 print(os.name)
27 
28 
29 #用来执行当前目录下的系统命令;
30 print(os.system('dir'))
31 print(os.system('ipconfig /all'))

 

显示os.path模块方法

 1 必须要会的
 2 #获取当前文件所在的绝对路径:
 3 print(os.path.abspath(__file__))
 4 显示结果:
 5 D:\软件\pychar\data\s13\modle_os\test.py
 6 
 7 
 8 
 9 
10 必须要会的
11 #提取字符串中的目录:(目录无需存在)
12 print(os.path.dirname(r'F:\a\b\c\a.txt'))
13 
14 提取当前字符串的上级目录:(每个dirname就是一个上一级目录标识)
15 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
16 
17 
18 
19 #将目录和文件分割成元祖返回
20 print(os.path.split(r"D:\a\b\cf1.txt"))
21 显示结果:
22 ('D:\\a\\b', 'cf1.txt')
23 
24 
25 
26 
27 #提取字符串中的文件:(文件无需存在)
28 print(os.path.basename(r'F:\a\b\c\a.txt'))
29 
30 
31 #提取字符串中的最后末尾元祖
32 print(os.path.basename(r'F:\a\b\c'))
33 显示结果:
34 F:\a\b\c
35 a.txt
36 c
37 
38 
39 
40 
41 #判断文件是否存在:
42 print(os.path.exists(r'F:\a\b\cf.txt'))
43 print(os.path.exists(r'D:\a\b\cf.txt'))
44 显示结果:
45 False
46 True
47 
48 
49 
50 #判断是否为绝对路径:(从根开始“判断前面是否有特殊字符做分割”)
51 print(os.path.isabs(r'a'))
52 print(os.path.isabs(r'/a'))
53 显示结果:
54 False
55 True
56 
57 
58 
59 
60 #判断文件和目录:
61 print(os.path.isfile(r'D:'))
62 print(os.path.isfile(r'D:\a\b\cf.txt'))
63 显示结果:
64 False
65 True
66 
67 
68 print(os.path.isdir(r'D:'))
69 print(os.path.isdir(r'D:\a\b\c'))
70 显示结果:
71 True
72 False
73 
74 
75 
76 必须要会的
77 #将多个路径组合后返回,第一个绝对路径之前的参数将被忽略:
78 print(os.path.join(r'D:',r'a',r'ce.txt'))
79 显示结果:
80 D:a\ce.txt
81 
82 
83 #返回path所指向的文件或者目录的最后存取时间。
84 print(os.path.getatime(r'D:\a'))
85 显示结果:
86 1501593961.9510007
87 
88 #返回path所指向的文件或者目录的最后修改时间。
89 print(os.path.getmtime(r'D:\a\b\cf.txt'))
90 显示结果:
91 1501594534.7840006

 

posted @ 2017-12-20 13:47  风之岚翔  阅读(324)  评论(0编辑  收藏  举报