Python3 os模块

1. os模块

1.1 os.chdir(path)

1.2 os.getcwd()

1.3 os.listdir(path)

1.4 os.mkdir(path)

1.5 os.makedirs(path)

1.6 os.remove(path)

1.7 os.rmdir(path)

1.8 os.removedirs(path)

1.9 os.rename(src, dst)

1.10 os.curdir

1.11 os.pardir

1.12 os.linesep

1.13 os.name

1.14 os.pathsep

1.15 os.sep

1.16 os.stat(path)

1.17 os.system(command)

2. os.path模块

2.1 os.path.abspath(path)

2.2 os.path.dirname(path)

2.3 os.path.basename(path)

2.4 os.path.exists(path)

2.5 os.path.isabs(path)

2.6 os.path.isfile(path)

2.7 os.path.isdir(path)

2.8 os.path.join(path1[, path2[, …]])

2.9 os.path.split(path)


1. os模块

os模块提供对操作系统进行调用的接口

方法

描述

os.access(path, mode)

检验权限模式

os.chdir(path)

改变当前脚本工作目录,相当于Shell下cd命令

os.chflags(path, flags)

设路径的标记为数字标记

os.chmod(path, mode)

更改权限

os.chown(path, uid, gid)

更改文件所有者

os.chroot(path)

改变当前进程的根目录

os.close(fd)

关闭文件描述符fd

os.closerange(fd_low, fd_high)

关闭所有文件描述符,从 fd_low (包含) 到 fd_high (不包含), 错误会忽略

os.curdir()

返回当前目录:(' . ')

os.dup(fd)

复制文件描述符 fd

os.dup2(fd, fd2)

将一个文件描述符 fd 复制到另一个 fd2

os.environ

获取系统环境变量

os.fchdir(fd)

通过文件描述符改变当前工作目录

os.fchmod(fd, mode)

改变一个文件的访问权限,该文件由参数fd指定,参数mode是Unix下的文件访问权限

os.fchown(fd, uid, gid)

改变一个文件的访问权限,该文件由参数fd指定,参数mode是Unix下的文件访问权限

os.fdatasync(fd)

强制将文件写入磁盘,该文件由文件描述符fd指定,但是不强制更新文件的状态信息。

 

os.fdopen(fd, mode, bufsize)

通过文件描述符 fd 创建一个文件对象,并返回这个文件对象

 

os.getcwd()

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

os.isatty(fd)

如果文件描述符fd是打开的,同时与tty(-like)设备相连,则返回true, 否则False。

os.lchmod(path, mode)

修改连接文件权限

os.listdir(path)

列出指定路径下的所有目录和文件

os.linesep

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

os.mkdir(path)

只能创建单级目录

os.makedirs(path)

递归创建目录,相当于Shell中mkdir -p

os.name

输出字符串指示当前使用平台。Windows为"nt",Linux下为
"posix"

os.pardir

返回当前目录的父目录字符串名:(' .. ')

os.pathsep

输出用于分隔文件路径的字符串。Windows为";",Linux下为
":"

os.remove(path)

删除单个文件,不能删除目录

os.removedirs(path)

递归删除目录(只能删除空目录)。

os.rename(src, dst)

重命名文件或目录

os.rmdir(path)

删除单级目录。若目录不为空则无法删除,相当于Shell中的rmdir

os.sep

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

os.stat(path)

获取文件/目录的信息

os.system(command)

运行Shell命令,直接显示

os.path.abspath(path)

返回当前文件规范化的绝对路径

os.path.basename(path)

返回当前路径最后的目录或文件名

os.path.dirname(path)

返回当前路径所在的上级目录

os.path.exists(path)

如果当前路径存在,返回True;否则返回False

os.path.getatime(path)

返回当前路径指向的文件或目录的最后访问时间

os.path.getctime(path)

返回当前路径指向的文件或目录的最后修改时间

os.path.getgtime(path)

返回当前路径指向的文件或目录的最后创建时间

os.path.isabs(path)

如果当前路径是绝对路径,返回True;否则返回False

os.path.isfile(path)

如果当前路径是一个存在的文件,返回True;否则返回False

os.path.isdir(path)

如果当前路径是一个存在的目录,返回True;否则返回False

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

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

os.path.split(path)

将当前路径分割成目录和文件名的二元组返回

注:需导入os模块

import os                  

1.1 os.chdir(path)

改变当前脚本工作目录,相当于Shell下cd命令

>>> import os
>>> os.chdir('/home/ycy')
>>> os.getcwd()
'/home/ycy'

1.2 os.getcwd()

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

>>> os.getcwd()
'/home/ycy'

1.3 os.listdir(path)

以列表形式列出指定路径下的所有目录和文件(包括隐藏文件和隐藏目录)

>>> import os
>>> os.listdir('/usr/local')
['bin', 'include', 'etc', 'share', 'games', 'src', 'man', 'lib', 'sbin']

1.4 os.mkdir(path)

只能创建单级目录,不能递归创建多级目录(需调用os.makedirs)。若目录已存在则会报错

>>> os.mkdir('/home/ycy/dir')
>>> os.mkdir('/home/ycy/aa/bb')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
FileNotFoundError: [Errno 2] No such file or directory: '/home/ycy/aa/bb'

 

1.5 os.makedirs(path)

递归创建目录,相当于Shell中mkdir -p

>>> import os
>>> os.makedirs('/home/ycy/aa/bb')

1.6 os.remove(path)

删除单个文件,不能删除目录

>>> os.remove('/home/ycy/b.txt')
>>> os.remove('/home/ycy/dir')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IsADirectoryError: [Errno 21] Is a directory: '/home/ycy/dir'

1.7 os.rmdir(path)

删除单级目录。若目录不为空则无法删除,相当于Shell中的rmdir。不能删除文件

>>> os.rmdir('a')
>>> os.rmdir('a.txt')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NotADirectoryError: [Errno 20] Not a directory: 'a.txt'

1.8 os.removedirs(path)

递归删除目录(只能删除空目录)。

>>> os.removedirs('/home/ycy/dir')
>>> os.removedirs('/home/ycy/aa/bb')

1.9 os.rename(src, dst)

重命名文件或目录(可以为相对路径或绝对路径)

>>> os.rename('c.txt','a.txt')
>>> os.rename('a','ccc')

1.10 os.curdir

返回当前目录:' . '

>>> os.curdir
'.'

1.11 os.pardir

返回当前目录的父目录字符串名:(' .. ')

>>> os.pardir
'..'

1.12 os.linesep

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

>>> os.linesep
'\n'

1.13 os.name

输出字符串指示当前使用平台。Windows为"nt",Linux下为"posix"

>>> os.name
'posix'

1.14 os.pathsep

输出用于分隔文件路径的字符串。Windows为";",Linux下为":"

>>> os.pathsep
':'

1.15 os.sep

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

>>> os.sep
'/'

1.16 os.stat(path)

获取文件/目录的信息

>>> os.stat('.')
os.stat_result(st_mode=16877, st_ino=3014658, st_dev=2049, st_nlink=22, 
st_uid=1000, st_gid=1000, st_size=4096, st_atime=1564910200,
 st_mtime=1564910382, st_ctime=1564910382)

1.17 os.system(command)

可以运行Shell命令,直接显示。0表示命令执行成功,非0表示执行失败

>>> os.system('echo 123')
123
0

2. os.path模块

os.path模块属于os的子模块,用于获取文件的属性。

2.1 os.path.abspath(path)

>>> os.path.abspath('.')                 #.表示当前目录
'/home/ycy'

2.2 os.path.dirname(path)

返回当前路径所在的上级目录

>>> os.path.dirname('home/ycy/a.py')
'home/ycy'

2.3 os.path.basename(path)

返回当前路径最后的目录或文件名

>>> os.path.basename('home/ycy/a.py')
'a.py'

2.4 os.path.exists(path)

如果当前路径存在,返回True;否则返回False

>>> os.path.exists('/etc/passwd')
True
>>> os.path.exists('/etc/ansible')
False

2.5 os.path.isabs(path)

如果当前路径是绝对路径,返回True;否则返回False

>>> os.path.isabs('/home/ycy/Desktop')
True

2.6 os.path.isfile(path)

如果当前路径是一个存在的文件,返回True;否则返回False

>>> os.path.isfile('/etc/passwd')
True

2.7 os.path.isdir(path)

如果当前路径是一个存在的目录,返回True;否则返回False

>>> os.path.isdir('/home/ycy')
True

2.8 os.path.join(path1[, path2[, …]])

将多个路径组合后返回,第一个绝对路径之前的参数将被忽略(中间的分隔符在Windows上为\,在Linux上为/,也就是调用了os.sep方法)

>>> os.path.join("home","ycy","Desktop")
'home/ycy/Desktop'

2.9 os.path.split(path)

将当前路径分割成目录和文件名的二元组返回

>>> os.path.split('/etc/ssh/sshd_config')
('/etc/ssh', 'sshd_config')

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值