python中os常用方法详解

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
<generator object walk at 0x0000016AAF180B48>
>>> 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

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值