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 参数列表中的self 显式不等于冗余
Dec 01 Python
Python设计模式之观察者模式实例
Apr 26 Python
python实现马耳可夫链算法实例分析
May 20 Python
python利用正则表达式搜索单词示例代码
Sep 24 Python
Python动刷新抢12306火车票的代码(附源码)
Jan 24 Python
解决python3 urllib 链接中有中文的问题
Jul 16 Python
pyqt5 实现在别的窗口弹出进度条
Jun 18 Python
Python ini文件常用操作方法解析
Apr 26 Python
python thrift 实现 单端口多服务的过程
Jun 08 Python
Python操作word文档插入图片和表格的实例演示
Oct 25 Python
Numpy中np.max的用法及np.maximum区别
Nov 27 Python
教你怎么用Python处理excel实现自动化办公
Apr 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
PHP+ajaxfileupload+jcrop插件完美实现头像上传剪裁
2014/06/09 PHP
php检索或者复制远程文件的方法
2015/03/13 PHP
PHPCMS忘记后台密码的解决办法
2016/10/30 PHP
详谈PHP中public,private,protected,abstract等关键字的用法
2017/12/31 PHP
thinkphp5.1框架中容器(Container)和门面(Facade)的实现方法分析
2019/08/05 PHP
jquery拖动插件(jquery.drag)使用介绍
2013/06/18 Javascript
Javascript基础 函数“重载” 详细介绍
2013/10/25 Javascript
Javascript this 关键字 详解
2014/10/22 Javascript
JS仿Windows开机启动Loading进度条的方法
2015/02/26 Javascript
JavaScript中pop()方法的使用教程
2015/06/09 Javascript
利用jquery给指定的table动态添加一行、删除一行的方法
2016/10/12 Javascript
layer实现弹窗提交信息
2016/12/12 Javascript
使用JS在浏览器中判断当前网络连接状态的几种方法
2017/05/05 Javascript
json对象及数组键值的深度大小写转换问题详解
2018/03/30 Javascript
详解如何更好的使用module vuex
2019/03/27 Javascript
node事件循环和process模块实例分析
2020/02/14 Javascript
Vue切换组件实现返回后不重置数据,保留历史设置操作
2020/07/21 Javascript
[02:40]DOTA2英雄基础教程 巨牙海民
2013/12/23 DOTA
[46:20]TFT vs Secret Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
Python中集合类型(set)学习小结
2015/01/28 Python
Python使用正则表达式过滤或替换HTML标签的方法详解
2017/09/25 Python
python删除不需要的python文件方法
2018/04/24 Python
Python中 map()函数的用法详解
2018/07/10 Python
在Mac中PyCharm配置python Anaconda环境过程图解
2020/03/11 Python
Python Django中的STATIC_URL 设置和使用方式
2020/03/27 Python
如何在keras中添加自己的优化器(如adam等)
2020/06/19 Python
什么是ESB?请介绍一下ESB?
2015/05/27 面试题
计算机专业学生的自我评价
2013/12/15 职场文书
大二学生职业生涯规划书
2014/02/05 职场文书
幼儿园亲子活动总结
2014/04/26 职场文书
中国梦演讲稿3分钟
2014/08/19 职场文书
学习党代会心得体会
2014/09/05 职场文书
财务会计岗位职责
2015/02/03 职场文书
挂职锻炼工作总结2015
2015/05/28 职场文书
四年级作文之说明文作文
2019/10/14 职场文书
SQL实现LeetCode(197.上升温度)
2021/08/07 MySQL