os的官方解释
os
os: This module provides a portable way of using operating system dependent functionality.
这个模块提供了一种方便的使用操作系统函数的方法。
os常用方法
在磁盘中创建一个测试文件夹
os.rename(oldname, newname)
1、修改文件夹的名称
>>> os.listdir('E:\\python_cmd\\test_1')
['test_1_1']
>>> os.rename('E:\\python_cmd\\test_1\\test_1_1','E:\\python_cmd\\test_1\\new')
>>> os.listdir('E:\\python_cmd\\test_1')
['new']
修改后的结果:
2、修改文件名称
>>> os.rename('E:\\python_cmd\\test_1\\new\\test_1_1.txt','E:\\python_cmd\\test_1\\new\\test_new.txt')
>>> os.listdir('E:\\python_cmd\\test_1\\new')
['test_new.txt']
修改后的结果:
os.remove(‘path/filename’) 删除文件
>>>os.remove('E:\\python_cmd\\test_1\\new\\test_new.txt')
>>> os.listdir(''E:\\python_cmd\\test_1\\new')
>>> os.listdir('E:\\python_cmd\\test_1\\new')
[]
os.walk() 生成目录树下的所有文件名
>>> paths = os.walk('E:\\python_cmd') #获取指定文件夹里所有目录和文件名,以树状的形式展现
>>> paths
>>> for path in paths:
... print(path)
...
('E:\\python_cmd', ['test_1'], [])
('E:\\python_cmd\\test_1', ['new'], [])
('E:\\python_cmd\\test_1\\new', [], ['test1.txt', 'test2.txt', 'test3.txt', 'test4.txt'])
>>> paths = os.walk('E:\\python_cmd\\test_1\\new') #获取指定文件夹里所有的文件名
>>> for path in paths:
... print(path)
...
('E:\\python_cmd\\test_1\\new', [], ['test1.txt', 'test2.txt', 'test3.txt', 'test4.txt'])
os.listdir(‘dirname’) 列出指定目录的文件
>>> path = 'E:/python_cmd/test_1/new'
>>> paths = os.listdir(path)
>>> paths
['test1.txt', 'test2.txt', 'test3.txt', 'test4.txt']
os.getcwd() 获取当前工作目录
用IDE创建一个temp project
>>> #进入该project环境中
>>> import os
>>> work_path = os.getcwd() #返回当前工作目录
d:\Deeplearning\temp project
os.chdir( pathname) 修改当前工作目录至指定目录
>>> new_path = 'D:/Deeplearning/temp_project_new'
>>> os.chdir(new_path)
>>> path = os.getcwd()
>>> print(path)
D:\Deeplearning\temp_project_new
os.mkdir/makedirs(‘dirname’) 创建目录/多层目录
1、创建单个目录,创建的目录必须存在上级目录
>>> path = 'E:/python_cmd/test_2'
>>> os.mkdir(path)
2、创建多层目录,如上级目录不存在,也能创建
>>> path = 'E:/python_cmd_1/test/test_1/test_1_1'
>>> os.makedirs(path)
os.chmod() 更改目录授权权限
具体描述请见【暮良文王】博客
os.path.basename(‘path/filename’) 去掉目录路径,返回文件名
返回path最后的文件名,如果path以 / 或 \ 结尾,那么就会返回空值
>>> path = 'E:/python_cmd/test_1/new'
>>> path_name = os.path.basename(path)
>>> path_name
'new'
>>> path = 'E:/python_cmd/test_1/new/'
>>> path_name = os.path.basename(path)
>>> path_name
''
>>> path = 'E:/python_cmd/test_1/new/test1.txt'
>>> path_name = os.path.basename(path)
>>> path_name
'test1.txt'
os.path.dirname(‘path/filename’) 去掉目录路径,返回文件名
返回该文件所在的路径
>>> path = 'E:/python_cmd/test_1/new/test1.txt'
>>> path_name = os.path.dirname(path)
>>> path_name
'E:/python_cmd/test_1/new'
os.path.join(path1,[,path2[,…]]) 将分离的各部分组合成一个路径名
>>> path1 = 'E:/python_cmd'
>>> path2 = 'test_1'
>>> path3 = 'new'
>>> os.path.join(path1,path2,path3)
'E:/python_cmd\\test_1\\new'
>>> os.listdir(path)
['test1.txt', 'test2.txt', 'test3.txt', 'test4.txt']
os.path.split(‘path’) 返回(dirname(),basename())元组
>>> path = 'E:/python_cmd\\test_1\\new'
>>> os.path.split(path)
('E:/python_cmd\\test_1', 'new')
os.path.splitext() 返回(filename, extension)元组
>>> path = 'E:/python_cmd\\test_1\\new\\test1.txt'
>>> os.path.splitext(path)
('E:/python_cmd\\test_1\\new\\test1', '.txt')
os.path.getatime\getctime\getmtime 分别返回最近访问、创建、修改时间
>>> path = 'E:/python_cmd\\test_1\\new\\test1.txt'
>>> os.path.getatime(path)
1586263286.1632323
>>> os.path.getctime(path)
1586263286.1632323
>>> os.path.getmtime(path)
1586263286.1632323
os.path.getsize() 返回文件大小
>>> path = 'E:/python_cmd\\test_1\\new\\test1.txt'
>>> os.path.getsize(path)
0
>>> path = 'E:/python_cmd'
>>> os.path.getsize(path)
>>> path = 'E:/QQ/PCQQ2019.exe'
>>> os.path.getsize(path)
83891744
os.path.exist(path) 判断文件夹或者文件是否存在
如果path存在,返回True,否则返回False
>>> path = 'E:/python_cmd'
>>> os.path.exists(path)
True
>>> path = 'E:/python_cmd/cpp'
>>> os.path.exists(path)
False
>>> path = 'E:/python_cmd\\test_1\\new\\test1.txt'
>>> os.path.exists(path)
True
os.path.isabs()是否为绝对路径
如果是绝对路径,则返回True,否则返回False
os.path.isdir()是否为目录
如果是目录,则返回True,否则返回False
os.path.isfile() 是否为文件
如果是文件,则返回True,否则返回False