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 相关文章推荐
pyqt4教程之实现windows窗口小示例分享
Mar 07 Python
python中利用Future对象异步返回结果示例代码
Sep 07 Python
Django 跨域请求处理的示例代码
May 02 Python
Django多数据库的实现过程详解
Aug 01 Python
Python生态圈图像格式转换问题(推荐)
Dec 02 Python
TENSORFLOW变量作用域(VARIABLE SCOPE)
Jan 10 Python
PyTorch中的C++扩展实现
Apr 02 Python
django教程如何自学
Jul 31 Python
Python HTMLTestRunner如何下载生成报告
Sep 04 Python
Python自动化测试基础必备知识点总结
Feb 07 Python
python 如何在测试中使用 Mock
Mar 01 Python
深入解析NumPy中的Broadcasting广播机制
May 30 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
PHILIPS D1835/D1875的电路分析与打理
2021/03/02 无线电
如何获知PHP程序占用多少内存(memory_get_usage)
2012/09/23 PHP
PHP间隔一段时间执行代码的方法
2014/12/02 PHP
PHP中overload与override的区别
2017/02/13 PHP
PHP检查文件是否存在,不存在自动创建及读取文件内容操作示例
2020/01/23 PHP
js带按钮的提示框可供选择示例代码
2013/09/17 Javascript
javascript页面渲染速度测试脚本分享
2014/04/15 Javascript
原生javascript实现解析XML文档与字符串
2016/03/01 Javascript
Bootstrap3学习笔记(二)之排版
2016/05/20 Javascript
Bootstrap+jfinal实现省市级联下拉菜单
2016/05/30 Javascript
浅谈js中字符和数组一些基本算法题
2016/08/15 Javascript
修改Jquery Dialog 位置的实现方法
2016/08/26 Javascript
js发送短信倒计时的简单实现方法
2016/09/08 Javascript
jQueryUI Datepicker组件设置日期高亮
2016/10/13 Javascript
layui分页效果实现代码
2017/05/19 Javascript
angularJs复选框checkbox选中进行ng-show显示隐藏的方法
2018/10/08 Javascript
微信小程序实现的一键复制功能示例
2019/04/24 Javascript
原生js代码能实现call和bind吗
2019/07/31 Javascript
vue props default Array或是Object的正确写法说明
2020/07/30 Javascript
vue 计算属性和侦听器的使用小结
2021/01/25 Vue.js
Python内置的字符串处理函数整理
2013/01/29 Python
python+mongodb数据抓取详细介绍
2017/10/25 Python
python爬虫正则表达式之处理换行符
2018/06/08 Python
详解Python with/as使用说明
2018/12/13 Python
python整小时 整天时间戳获取算法示例
2019/02/20 Python
python不使用for计算两组、多个矩形两两间的iou方式
2020/01/18 Python
Python实现简单猜数字游戏
2021/02/03 Python
Mytheresa美国官网:德国知名的女性奢侈品电商
2017/05/27 全球购物
怎样让char类型的东西转换成int类型
2013/12/09 面试题
Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型
2013/10/30 面试题
好的演讲稿开场白
2013/12/30 职场文书
2015年简历自我评价范文
2015/03/11 职场文书
大学生团日活动总结
2015/05/06 职场文书
工作时间证明
2015/06/15 职场文书
制作能在nginx和IIS中使用的ssl证书
2021/06/21 Servers
sql注入教程之类型以及提交注入
2021/08/02 MySQL