python os模块常用的29种方法使用详解


Posted in Python onJune 02, 2020

os.getcwd()

获取当前工作目录,即当前python脚本工作的目录路径

print(os.getcwd())
>>E:\pycharm\test

os.chdir(“dirname”)

改变当前脚本工作目录;相当于shell下cd

os.chdir('E:\pycharm')
print(os.getcwd())
>>E:\pycharm

os.curdir

是一个值,返回当前目录: ('.')

print(os.curdir)
>>.

os.pardir

也是一个值,获取当前目录的父目录字符串名:('…')

print(os.pardir)
>>..

os.makedirs(‘dirname1/dirname2')

可生成多层递归目录

os.makedirs('path1/path2')
os.chdir('./path1/path2')
print(os.getcwd())
>>E:\pycharm\test\path1\path2

python os模块常用的29种方法使用详解

os.removedirs(‘dirname1')

若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推

os.chdir('./path1/path2')
print(os.getcwd())
os.removedirs('E:/pycharm/test/path1/path2')
print(os.getcwd())

python os模块常用的29种方法使用详解

如果删除的文件夹是工作路径,则不能删除。

os.removedirs('E:/pycharm/test/path1/path2')

python os模块常用的29种方法使用详解

os.mkdir(‘dirname')

生成单级目录

os.mkdir('./path1')

python os模块常用的29种方法使用详解

os.rmdir(‘dirname')

删除单级空目录,若目录不为空则无法删除。

os.rmdir('./path1')

python os模块常用的29种方法使用详解

os.listdir(‘dirname')

列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印。

print(os.listdir('./'))
>>['.idea', '0.py', '1.py', 'log.py', 'log.txt', 'log.txt.1', 'os_test.py', 'test.py', '__pycache__']

os.remove()

删除一个文件,不能删除文件夹。

print(os.listdir('./'))
os.remove('./log.txt')
print(os.listdir('./'))
>>['.idea', '0.py', '1.py', 'log.py', 'log.txt', 'log.txt.1', 'os_test.py', 'test.py', '__pycache__']
>>['.idea', '0.py', '1.py', 'log.py', 'log.txt.1', 'os_test.py', 'test.py', '__pycache__']

os.rename(“oldname”,“newname”)

重命名文件/目录

print(os.listdir('./'))
os.rename('./log.txt.1', 'log.other')
print(os.listdir('./'))
>>['.idea', '0.py', '1.py', 'log.py', 'log.txt.1', 'os_test.py', 'path', 'test.py', '__pycache__']
>>['.idea', '0.py', '1.py', 'log.other', 'log.py', 'os_test.py', 'path', 'test.py', '__pycache__']

os.stat(‘path/filename')

获取文件/目录信息

print(os.stat('./'))
print(os.stat('./log.py'))
>>os.stat_result(st_mode=16895, st_ino=281474976733851, st_dev=265296634, st_nlink=1, st_uid=0, st_gid=0, st_size=4096, st_atime=1591056501, st_mtime=1591056501, st_ctime=1585357336)
>>os.stat_result(st_mode=33206, st_ino=1970324837041014, st_dev=265296634, st_nlink=1, st_uid=0, st_gid=0, st_size=3102, st_atime=1590469701, st_mtime=1590469701, st_ctime=1590462783)

os.sep

输出操作系统特定的路径分隔符,win下为"\",Linux下为"/"

print(os.sep)
>>\

os.linesep

输出当前平台使用的行终止符,win下为"\r\n",Linux下为"\n"

os.pathsep

输出用于分割文件路径的字符串 win下为;,Linux下为:

print(os.pathsep)
>>;

os.name

输出字符串指示当前使用平台。win->‘nt'; Linux->‘posix'

print(os.name)
>>nt

os.system(“bash command”)

运行shell命令,直接显示

os.environ

获取系统环境变量

os.path.abspath(path)

返回path规范化的绝对路径

print(os.path.abspath('./log.py'))
>>E:\pycharm\test\log.py

os.path.split(path)

将path分割成目录和文件名二元组返回

print(os.path.split('./log.py'))
>>('.', 'log.py')

os.path.dirname(path)

返回path的目录。其实就是os.path.split(path)的第一个元素

print(os.path.dirname('./log.py'))
>>.

os.path.basename(path)

返回path最后的文件名。如果path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素

print(os.path.basename('./log.py'))
print(os.path.basename('./'))
>>log.py
>>

os.path.exists(path)

如果path存在,返回True;如果path不存在,返回False

print(os.path.exists('./log.py'))
print(os.path.exists('./log'))
>>True
>>False

os.path.isabs(path)

如果path是绝对路径,返回True

print(os.path.isabs('./log.py'))
print(os.path.isabs('E:/pycharm/test/log'))
>>False
>>True

os.path.isfile(path)

如果path是一个存在的文件,返回True。否则返回False

print(os.path.isfile('./log'))
print(os.path.isfile('./log.py'))
>>False
>>True

os.path.isdir(path)

如果path是一个存在的目录,则返回True。否则返回False,文件也返回False。

print(os.path.isdir('./log.py'))
print(os.path.isdir('./path_other'))
>>False
>>True

os.path.join(path1, path2, …)

将多个路径组合后返回,第一个绝对路径之前的参数将被忽略

print(os.path.join('./', 'path1', 'path2', 'path3'))
print(os.path.join('./', 'path1', 'path2', os.getcwd(), 'path3'))
>>./path1\path2\path3
>>E:\pycharm\test\path3

os.path.getatime(path)

返回path所指向的文件或者目录的最后存取时间

print(os.path.getatime('./log.py'))
>>1590469701.9787416

os.path.getmtime(path)

返回path所指向的文件或者目录的最后修改时间

print(os.path.getmtime('./log.py'))
>>1590469701.6769156

到此这篇关于python os模块常用的29种方法使用详解的文章就介绍到这了,更多相关python os模块内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python使用循环实现批量创建文件夹示例
Mar 25 Python
Python函数的周期性执行实现方法
Aug 13 Python
python2.7的编码问题与解决方法
Oct 04 Python
使用Python的Scrapy框架十分钟爬取美女图
Dec 26 Python
Python 40行代码实现人脸识别功能
Apr 02 Python
Python实现多进程的四种方式
Feb 22 Python
python tkinter canvas 显示图片的示例
Jun 13 Python
Django REST framework内置路由用法
Jul 26 Python
Django框架 信号调度原理解析
Sep 04 Python
python 通过邮件控制实现远程控制电脑操作
Mar 16 Python
keras 自定义loss层+接受输入实例
Jun 28 Python
python 爬取哔哩哔哩up主信息和投稿视频
Jun 07 Python
完美解决pycharm 不显示代码提示问题
Jun 02 #Python
PyQt5.6+pycharm配置以及pyinstaller生成exe(小白教程)
Jun 02 #Python
基于python实现查询ip地址来源
Jun 02 #Python
新版Pycharm中Matplotlib不会弹出独立的显示窗口的问题
Jun 02 #Python
Pycharm生成可执行文件.exe的实现方法
Jun 02 #Python
Python实现初始化不同的变量类型为空值
Jun 02 #Python
浅谈Python程序的错误:变量未定义
Jun 02 #Python
You might like
坏狼的PHP学习教程之第2天
2008/06/15 PHP
curl实现站外采集的方法和技巧
2014/01/31 PHP
php保存任意网络图片到服务器的方法
2015/04/14 PHP
Yii框架实现记录日志到自定义文件的方法
2017/05/23 PHP
Laravle eloquent 多对多模型关联实例详解
2017/11/22 PHP
javascript操作cookie_获取与修改代码
2009/05/21 Javascript
入门基础学习 ExtJS笔记(一)
2010/11/11 Javascript
JS中 用户登录系统的解决办法
2013/04/15 Javascript
JS定时器实例详细分析
2013/10/11 Javascript
解决jquery插件冲突的问题
2014/01/23 Javascript
高效利用Angular中内置服务$http、$location等
2016/03/22 Javascript
微信小程序实现滚动消息通知
2018/02/02 Javascript
小程序测试后台服务的方法(ngrok)
2019/03/08 Javascript
对vuex中store和$store的区别说明
2020/07/24 Javascript
Python中的filter()函数的用法
2015/04/27 Python
详解Python发送邮件实例
2016/01/10 Python
简介Python设计模式中的代理模式与模板方法模式编程
2016/02/02 Python
python画折线图的程序
2018/07/26 Python
Python多进程入门、分布式进程数据共享实例详解
2019/06/03 Python
Python正则表达式匹配日期与时间的方法
2019/07/07 Python
Python3 实现减少可调用对象的参数个数
2019/12/20 Python
python 多线程死锁问题的解决方案
2020/08/25 Python
Python爬虫模拟登陆哔哩哔哩(bilibili)并突破点选验证码功能
2020/12/21 Python
python实现发送邮件
2021/03/02 Python
Web页面中八种创建多列等高(等高列布局)的实现技术
2012/12/24 HTML / CSS
Desigual德国官网:在线购买原创服装
2018/03/27 全球购物
银行类自荐信
2014/02/04 职场文书
幼儿园运动会口号
2014/06/07 职场文书
党的作风建设心得体会
2014/10/22 职场文书
收银员岗位职责
2015/02/03 职场文书
大学生活委员竞选稿
2015/11/21 职场文书
《百分数的认识》教学反思
2016/02/19 职场文书
2019思想汇报范文
2019/05/21 职场文书
Django程序的优化技巧
2021/04/29 Python
Redis性能监控的实现
2021/07/09 Redis
python可视化分析绘制带趋势线的散点图和边缘直方图
2022/06/25 Python