模块讲解----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