3Python标准库系列之os模块

简介:

Python标准库系列之os模块


This module provides a portable way of using operating system dependent functionality. If you just want to read or write a file see open(), if you want to manipulate paths, see the os.path module, and if you want to read all the lines in all the files on the command line see the fileinput module. For creating temporary files and directories see the tempfile module, and for high-level file and directory handling see the shutil module


os模块常用方法


模块方法 说明
os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径
os.chdir(“dirname”) 改变当前脚本工作目录;相当于shell下cd
os.curdir 返回当前目录: (‘.’)
os.pardir 获取当前目录的父目录字符串名:(‘..’)
os.makedirs(‘dirname1/dirname2’) 可生成多层递归目录
os.removedirs(‘dirname1’) 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
os.mkdir(‘dirname’) 生成单级目录;相当于shell中mkdir dirname
os.rmdir(‘dirname’) 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
os.listdir(‘dirname’) 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
os.remove() 删除一个文件
os.rename(“oldname”,”newname”) 重命名文件/目录
os.stat(‘path/filename’) 获取文件/目录信息
os.sep 输出操作系统特定的路径分隔符,win下为\\,Linux下为/
os.linesep 输出当前平台使用的行终止符,win下为\t\n,Linux下为\n
os.pathsep 输出用于分割文件路径的字符串
os.name 输出字符串指示当前使用平台。win->nt; Linux->posix
os.system(“bash command”) 运行shell命令,直接显示
os.environ 获取系统环境变量
os.path.abspath(path) 返回path规范化的绝对路径
os.path.split(path) 将path分割成目录和文件名二元组返回
os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素
os.path.basename(path) 返回path最后的文件名。如何path以\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False
os.path.isabs(path) 如果path是绝对路径,返回True
os.path.isfile(path) 如果path是一个存在的文件,返回True。否则返回False
os.path.isdir(path) 如果path是一个存在的目录,则返回True。否则返回False
os.path.join(path1[, path2[,…]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间
os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间


常用方法实例

获取当前工作目录

1
2
3
  # 获取的进入python时的目录
  >>> os.getcwd()
'/root'


改变工作目录到/tmp

1
2
3
4
5
6
7
8
  # 当前目录是/root
  >>> os.getcwd()
'/root'
  # 切换到/tmp下
  >>> os.chdir( "/tmp" )
  # 当前目录变成了/tmp
  >>> os.getcwd()     
'/tmp'


获取/root目录下的所有文件,包括隐藏文件

1
2
  >>> os.listdir( '/root' )
[ '.cshrc' '.bash_history' '.bash_logout' '.viminfo' '.bash_profile' '.tcshrc' 'scripts.py' '.bashrc' 'modules' ]


删除/tmp目录下的os.txt文件

1
2
3
4
5
6
7
8
  >>> os.chdir( "/tmp"
  >>> os.getcwd()     
'/tmp'
  >>> os.listdir( './' )   
[ '.ICE-unix' 'yum.log' ]
  >>> os.remove( "yum.log" )
  >>> os.listdir( './' )    
[ '.ICE-unix' ]


查看/root目录信息

1
2
  >>> os.stat( '/root' )        
posix.stat_result(st_mode = 16744 , st_ino = 130817 , st_dev = 2051L , st_nlink = 3 , st_uid = 0 , st_gid = 0 , st_size = 4096 , st_atime = 1463668203 , st_mtime = 1463668161 , st_ctime = 1463668161 )


查看当前操作系统的平台

1
2
  >>> os.name
'posix'

win —> nt,Linux -> posix


执行一段shell命令

1
2
3
4
5
   # 执行的命令要写绝对路径
  >>> os.system( "/usr/bin/whoami" )    
root
# 0代表命令执行成功,如果命令没有执行成功则返回的是非0
0


组合一个路径

1
2
3
4
  >>> a1  =  "/"
  >>> a2  =  "root"
  >>> os.path.join(a1, a2)
'/root'









本文转自 Edenwy  51CTO博客,原文链接:http://blog.51cto.com/edeny/1925712,如需转载请自行联系原作者
目录
打赏
0
0
0
0
234
分享
相关文章
如何在Python中管理模块和包的依赖关系?
在实际开发中,通常会结合多种方法来管理模块和包的依赖关系,以确保项目的顺利进行和可维护性。同时,要及时更新和解决依赖冲突等问题,以保证代码的稳定性和可靠性
158 62
|
2月前
|
Python Internet 模块
Python Internet 模块。
133 74
Linux系统查看操作系统版本信息、CPU信息、模块信息
在Linux系统中,常用命令可帮助用户查看操作系统版本、CPU信息和模块信息
121 23
马特赛特旋转算法:Python的随机模块背后的力量
马特赛特旋转算法是Python `random`模块的核心,由松本真和西村拓士于1997年提出。它基于线性反馈移位寄存器,具有超长周期和高维均匀性,适用于模拟、密码学等领域。Python中通过设置种子值初始化状态数组,经状态更新和输出提取生成随机数,代码简单高效。
141 63
如何在Python中解决模块和包的依赖冲突?
解决模块和包的依赖冲突需要综合运用多种方法,并且需要团队成员的共同努力和协作。通过合理的管理和解决冲突,可以提高项目的稳定性和可扩展性
|
3月前
|
Python的模块和包
总之,模块和包是 Python 编程中非常重要的概念,掌握它们可以帮助我们更好地组织和管理代码,提高开发效率和代码质量
134 61
手动解决Python模块和包依赖冲突的具体步骤是什么?
需要注意的是,手动解决依赖冲突可能需要一定的时间和经验,并且需要谨慎操作,避免引入新的问题。在实际操作中,还可以结合使用其他方法,如虚拟环境等,来更好地管理和解决依赖冲突😉。
如何在Python中自动解决模块和包的依赖冲突?
完全自动解决所有依赖冲突可能并不总是可行,特别是在复杂的项目中。有时候仍然需要人工干预和判断。自动解决的方法主要是提供辅助和便捷,但不能完全替代人工的分析和决策😉。
|
1月前
|
[oeasy]python057_如何删除print函数_dunder_builtins_系统内建模块
本文介绍了如何删除Python中的`print`函数,并探讨了系统内建模块`__builtins__`的作用。主要内容包括: 1. **回忆上次内容**:上次提到使用下划线避免命名冲突。 2. **双下划线变量**:解释了双下划线(如`__name__`、`__doc__`、`__builtins__`)是系统定义的标识符,具有特殊含义。
32 3
python中的OS模块的基本使用
欢迎来到瑞雨溪的博客,一名热爱JavaScript与Vue的大一学生。博客分享前端技术及全栈开发经验,持续更新中,期待您的关注和支持!🎉🎉🎉
52 0

热门文章

最新文章