os模块:操作系统模块
python是跨平台的语言。
有了OS模块,我们不需要关心什么操作系统下使用什么模块,OS会帮你选择正确的模块并调用。
os模块的常用函数
1. getcwd()
返回当前的工作目录
>>> importos
>>>os.getcwd()
'G:\\python36'
2. chdir(path) 改变工作目录
>>> os.chdir('E:\\')
>>>os.getcwd()
'E:\\'
3. listdir(path=’.’)
列举指定目录下的文件名
>>> os.listdir('E:\\VSWorkSpace\\')
['Driver0', 'ex1', 'LearnDriver', 'TDriver01', 'TDriver01 - 副本','Test03.zip']
4. mkdir(path) 创建单层目录,如果该目录存在则会抛出异常
>>>os.mkdir('E:\\A')
>>>#此时是建立在有A的情况下 这是创建单层目录
>>>os.mkdir('E:\\A\\B')
5. makedirs(path)
递归创建多层目录,存在则会抛出异常.注意“E:\\A\\B”和“E:\\A\\C”不会产生冲突
>>>#要创建多层目录
>>>os.makedirs('E:\\A\\C\\B')
6. remove(path)
删除文件
>>>os.remove('E:\\A\\B\\test.txt')
7. rmdir(path)
删除单层目录,如果该目录非空则会抛
出异常(所以要先remove文件再rmdir)
>>>os.rmdir('E:\\A\\B')
>>>#要先删除目录E:\\A\\B'中的文件
8. removedirs(path)
递归删除目录,从子目录到父目录逐层尝试删除,遇到非空则会抛出异常
9. rename(old,new)
将文件Old重命名为new
10. system(command)
运行系统的shell命令
>>>os.system('cmd')
-1073741510
>>>os.system('calc')
0
11. os.curdir 指代当前目录(‘.’)
>>> os.curdir
'.'
>>>os.listdir(os.curdir)
12. os.pardir指代上一级目录(‘..’)
13. os.sep
输出操作系统特点的路径分隔符
14. os.linesep
当前平台使用的行终止符(windows:”\r\n” Linux:”\n”)
15. os.name
指代当前使用的操作系统
os.path模块关于路径常用的函数
1. basename(path)
去掉目录的路径,返回文件名
>>> os.path.basename('E\\:A\\test.txt')
'test.txt'
2. dirname(path)去掉文件名,单独返回目录路径
>>> os.path.dirname('E:\\A\\test.txt')
'E:\\A'
3. join(path1[,path2[, ...]])将path1和path2各个部分组合成一个路径名
>>>os.path.join('A','B',"C")
'A\\B\\C'
>>>os.path.join('C:\\','A','B',"C")
'C:\\A\\B\\C'
>>> #注意自己加上\\
4. split(path)分隔文件名与路径,返回元组。如果完全使用目录,它也将会将最后一个目录作为文件名分离出来,而且不会判断文件或者目录是否存在。
>>> os.path.split("E:\\A\\B\\ttt.txt")
('E:\\A\\B', 'ttt.txt')
>>> os.path.split("E:\\A\\B\\C")
('E:\\A\\B', 'C')
>>> #所以要自己判断一下
5. splitext(path)
分离文件名与扩展名,返回元组
>>> os.path.splitext("E:\\A\\B\\ttt.txt")
('E:\\A\\B\\ttt', '.txt')
>>> #比如我要搜索所有txt文件则可以将其splitext出来看元组的第二个元素是否为.txt
6. getsize(file) 返回指定文件的尺寸(字节)
7. getatime(file) 返回指定文件最近的访问时间(浮点型秒数,可以用time模块和gmtime()或者localtime()函数换算)
eg:
>>>os.path.getctime('E:\\A\\111.txt')
1493968676.6676369
>>> import time
>>>time.gmtime(os.path.getctime('E:\\A\\111.txt'))
time.struct_time(tm_year=2017, tm_mon=5, tm_mday=5,tm_hour=7, tm_min=17, tm_sec=56, tm_wday=4, tm_yday=125, tm_isdst=0)
>>>time.localtime(os.path.getctime('E:\\A\\111.txt'))
time.struct_time(tm_year=2017, tm_mon=5, tm_mday=5,tm_hour=15, tm_min=17, tm_sec=56, tm_wday=4, tm_yday=125, tm_isdst=0)
8. getctime(file) 返回指定文件的创建时间(浮点型秒数...)
9. getmtime(file) 返回指定文件最新修改时间(浮点型秒数)
10. exists(path)判断指定目录/文件是否存在,返回true/false
11. isabs(path)判断指定路径是否为绝对路径,返回true/false
12. isdir(path)判断指定路径是否存在且是一个目录,返回true/false
13. isfile(path)判断指定路径是否存在且是一个文件,返回true/false
14. islink(path)判断指定目录是否存在且是一个符号链接,返回true/false
15. ismount(path)判断指定路径是否存在且是一个挂载点
16. samefile(path1,path2)判断path1和path2两个路径是否指向同一个文件