Python中模块之os的功能介绍
Python中模块之os的功能介绍
1. os的变量
path
模块路径
方法:os.path
返回值:module
例如:print(os.path)
>>> <module 'ntpath' from 'D:\\python3.5.2\\lib\\ntpath.py'>
#返回posixpath和netpath两个模块中任意一个模块
name
模块名
方法:os.name
返回值:str
例如:print(os.name)
>>> nt
#返回posix nt和ce任意一个模块名
curdir
当前目录字符串
方法:os.curdir
返回值:str
例如:print(os.curdir)
>>> .
#返回一个字符串代表当前目录,一般为.和:
pardir
父级目录字符串
方法:os.pardir
返回值:str
例如:print(os.pardir)
>>> ..
#返回一个字符串代表上一级目录,一般为..和::
sep
路径分隔符
方法:os.sep
返回值:str
例如:print(os.sep)
>>> \\
#返回最常用的路径分隔符,一般为/ : 和 \\
extsep
延伸路径分隔符
方法:os.extsep
返回值:str
例如:print(os.extsep)
>>> .
#返回延伸路径分隔符,一般为.
altsep
备用路径分隔符
方法:os.altsep
返回值:str
例如:print(os.altsep)
>>> /
#返回备用路径分隔符,一般为None和/
pathsep
环境变量中的路径分隔符
方法:os.pathsep
返回值:str
例如:print(os.pathsep)
>>> ;
#返回环境变量中的路径分隔符
linesep
文件中的路径分隔符
方法:os.linesep
返回值:str
例如:print(os.linesep)
>>> \r\n
#返回文件路径分隔符,一般为\r \n和\r\n
defpath
可执行文件的默认搜索路径
方法:os.defpath
返回值:str
例如:print(os.defpath)
>>> .;C:\\bin
#返回可执行文件的默认搜索路径
devnull
空设备的文件路径
方法:os.devnull
返回值:str
例如:print(os.devnull)
>>> nul
#返回空设备的文件路径
environ
以字典的形式获取当前系统的环境变量
方法:os.environ
返回值:os._Environ
#获取当前系统的环境变量,以字典key:value的形式返回
2. os的方法
abort
立即中断解释器
方法:os.abort()
返回值:None
#直接关闭解释器并退出Python解释器
access
利用真实的uid和gid对访问路径测试
方法:os.access(path, mode, *, dir_fd=None, effective_ids=False, follow_symlinks=True)
chdir
更改当前目录到指定目录
方法:os.chdir(path)
返回值:None
#直接把当前目录切换到指定目录下
chmod
更改文件的访问权限
方法: os.chmod(path, mode, *, dir_fd=None, follow_symlinks=True)
close
关闭一个文件的描述符
方法:os.close(fd)
closerange
关闭所有文件的描述符,从低到高,忽略错误
方法:os.closerange(fd_low,fd_high)
cpu_count
cpu数量
方法:os.cpu_count()
返回值:int
例如:print(os.cpu_count())
>>> 4
#返回当前系统中cpu的数量,如果无法确定将返回None
device_encoding
终端文件描述符编码的字符串
方法:os.device_encoding(fd)
dup
返回一个文件描述符的复制品
方法:os.dup(fd)
dup2
复制文件描述符
方法:os.dup2(fd,fd2,inheritable=True)
- execl
- execle
- execlp
- execlpe
- execve
- execvp
- execvpe
- fdopen
- fsdecode
- fsencode
- fstat
- fsync
- ftruncate
- getexecpath
- gethandleinheritable
- get_inheritable
- getterminalsize
getcwd
获取当前路径
方法:os.getcwd()
返回值:str
例如:print(os.getcwd())
>>> C:\\Users\\Administrator
getcwdb
获取当前路径,以字节格式返回
方法:os.getcwdb()
返回值:bytes
例如:print(os.getcwd())
>>> b'C:\\Users\\Administrator'
- getenv
getlogin
返回当前登陆的用户名
方法:os.getlogin()
返回值:str
例如:print(os.getlogin())
>>> qiao
getpid
返回当前进程id
方法:os.getpid()
返回值:int
getppid
返回上级进程id
方法:os.getppid()
返回值:int
isatty
判断文件是否是一个终端设备
kill
用信号结束指定id的进程
link
创建一个链接文件
方法:os.link(src, dst, *, src_dir_fd=None, dst_dir_fd=None, follow_symlinks=True)
listdir
把目录下的文件名和目录名作为列表的元素返回
方法:os.listdir(path=None)
返回值:list
#默认处理当前目录,当然也可以指定其他路径
- lseek
lstat
把文件的属性信息以元祖的形式返回
方法:os.lstat(path, *, dir_fd=None)
返回值:os.stat_result
makedirs
递归创建文件夹
方法:os.makedirs(name, mode=511, exist_ok=False)
mkdir
创建一个文件夹
方法:os.mkdir(path, mode=511, *, dir_fd=None)
- open
- pipe
- popen
putenv
增加一个环境变量
方法:os.putenv(name,value)
- read
- readlink
remove
删除一个文件
方法:os.remove(path, *, dir_fd=None)
#只能删文件,不能删目录
removedirs
递归删除空目录
方法:os.removedirs(name)
raname
重命名
方法:os.rename(src, dst, *, src_dir_fd=None, dst_dir_fd=None)
#如果文件路径不一样则为移动文件
ranames
超级重命名
方法:os.ranames(old,new)
#可以吧整个文件夹包含文件夹内的所有文件都直接移动到其他路径或者直接修改该文件夹名
replace
重命名一个文件或目录,存在则覆盖
方法:os.replace(src, dst, *, src_dir_fd=None, dst_dir_fd=None)
#当目录下有文件时,则文件也一起被移动
rmdir
删除一个空目录
方法:os.rmdir(path, *, dir_fd=None)
#当目录不为空时,则程序报错
- scandir
- sethandleinheritable
- set_inheritable
- spawnl
- spawnle
- spawnv
- startfile
stat
以元祖形式返回文件属性
方法:os.stat(path, *, dir_fd=None, follow_symlinks=True)
返回值:os.stat_result
- statfloattimes
- strerror
- symlink
system
调用系统命令
方法:os.system(command)
#与直接在系统中执行命令一样
times
以元祖的形式返回一个收集的时间
方法:os.times()
truncate
截取文件的长度
方法:os.truncate(path,length)
#从文件的开头开始截取,多余的部分直接删除
- umask
unlink
删除一个文件
方法:os.unlink(path, *, dir_fd=None)
#该方法功能与remove一样
- urandom
utime
修改文件的最后访问时间和修改时间
方法:os.utime(path, times=None, *, ns=None, dir_fd=None, follow_symlinks=True)
- waitpid
- walk
- write
path类
1. path的变量
1. altsep备用路径分隔符
2. curdir当前目录字符串表示
3. defpath可执行文件默认搜索路径
4. devnull空设备到文件路径,一般为nul
5. extsep延伸路径分隔符
6. pardir上级目录字符串表示
7. pathsep环境变量中的路径分隔符
8. sep路径分隔符
注:由于os模块中的变量包含上述变量,因此具体介绍可参考os变量。
2. path的方法
abspath
获取路径的绝对路径
方法:os.path.abspath(path)
返回值:str
例如:print(os.path.abspath(r'users'))
>>> C:\Users\Administrator\users
#该方法需要指定路径,当指定的路径不存在时也不会影响该方法的执行。
basename
返回路径的最后一部分
方法:os.path.basename(path)
返回值:str
例如:print(os.path.basename(r'd:\users'))
>>> 'users'
例如:print(os.path.basename(r'd:\users\11.txt'))
>>> '11.txt'
#该方法获取指定路径的最后一部分,不管最后一部分是文件名还是目录名,当指定的路径不存在时也不会影响该方法的执行。
- commonpath
- commonprefix
dirname
获取除去路径最后一部分的所有路径
方法:os.path.dirname(path)
返回值:str
例如:print(os.path.dirname(r'a:\b\c\11.xx'))
>>> a:\b\c
#该方法刚好与basename相反,具体参考basename方法。
exists
判断路径是否存在
方法:os.path.exists(path)
返回值:bool
例如:print(os.path.exists(r'c:\1'))
>>> False
#只有当指定路径存在时,才会返回True。
- expanduser
- expandvars
getatime
获取文件最后访问时间
方法:os.path.getatime(filename)
返回值:int
例如:print(os.path.getatime(r'd:\users\11.txt'))
>>> 1506439442.2703443
#该方法利用os.stat方法来获取文件属性里面的最后访问时间,由于返回值为一个时间戳,因此需要用time模块中ctime方法来转换为时间字符串格式。
getctime
获取文件的创建时间
方法:os.path.getctime(filename)
返回值:int
例如:print(os.path.getctime(r'd:\users\11.txt'))
>>> 1506431925.714422
#该方法同getatime方法类似,可以参考getatime方法。
getmtime
获取文件的最后修改时间
方法:os.path.getctime(filename)
返回值:int
例如:print(os.path.getmtime(r'd:\users\11.txt'))
>>> 1506439442.2703443
#该方法同getatime方法类似,可以参考getatime方法。
getsize
获取文件大小
方法:os.path.getsize(filename)
返回值:int
例如:print(os.path.getsize(r'd:\users\11.txt'))
>>> 30
#该方法获取文件的大小,以字节为单位,同样利用os.stat方法获取文件属性。
isabs
判断是否是绝对路径
方法:os.path.isabs(path)
返回值:bool
例如:print(os.path.isabs('d:\12.x'))
>>> True
#在windows中该方法的判断依据为:以及:前面的一个字母,字母取值范围为从a到z中的任意一个字母。
isdir
判断路径是否是一个目录
方法:os.path.isdir(path)
返回值:bool
例如:print(os.path.isdir(r'd:\users'))
>>> True
#当指定路径不存在时,程序不会报错,将会返回False
isfile
判断路径是否是一个文件
方法:os.path.isfile(path)
返回值:bool
例如:print(os.path.isfile(r'd:\users'))
>>> False
#当指定路径不存在时,程序不会报错,将会返回False
islink
判断路径是否是一个符号链接
方法:os.path.islink(path)
返回值:bool
ismount
判断路径是否是一个挂载点
方法:os.path.ismount(path)
返回值:bool
join
合并多个路径
方法:os.path.join(path,*paths)
返回值:str
例如:print(os.path.join(r'd:\u','a.xx'))
>>> d:\u\a.xx
#该方法有局限性,一般用于多个路径合并时,传入的参数需要满足一个条件后面的参数是前面参数的子路径。否则合并将出现混乱,但不会报错。
- lexists
- normcase
- normpath
realpath
返回路径的真实路径
方法:os.path.realpath(path)
返回值:str
#该方法等于abspath方法。
relpath
获取路径的相对路径
方法:os.path.relpath(path,start=None)
返回值:str
例如:print(os.path.relpath(r'a\b\c'))
>>> a\b\c
#当输入的路径为相对路径时,则返回的结果和输入的路径一样
例如:print(os.path.relpath(r'\a\b\c'))
... ..\..\a\b\c
#当输入的路径前面有\时,则返回的相对路径会以..表示上级目录
例如:print(os.path.relpath(r'm:\a\b\c',start='m:'))
>>> a\b\c
#当输入的是绝对路径时,如果起始盘不是c盘时,需要指定起始盘
samefile
判断两个路径指定的是否是同一个文件
方法:os.path.samefile(f1,f2)
返回值:bool
#该方法可以理解为判断f1和f2是否是绝对路径和相对路径。
sameopenfile
判断打开的两个文件对象是否是同一个文件
方法:os.path.sameopenfile(fp1,fp2)
返回值:bool
#该方法需要用到文件描述符
- samestat
split
分割路径
方法:os.path.split(path)
返回值:tuple
例如:print(os.path.split(r'c:\a\b\c'))
>>> ('c:\\a\\b','c')
#该方法相当于把dirname与basename两个方法作为元祖的两个元素,当路径不存在时,程序不报错,最后一个路径分隔符后面的路径无论是目录还是文件都将作为元祖的第二个元素。
- splitdrive
splitext
分割路径与文件
方法:os.path.split.ext(path)
返回值:tuple
例如:print(os.path.splitext(r'd:\a\b'))
>>> ('d:\\a\\b','')
#该方法相当于split的升级,当路径最后面的路径是目录时,元祖的第二个元素将为空字符串,否则则返回文件名。
- splitunc
Python中模块之os的功能介绍的更多相关文章
- Python中模块之copy的功能介绍
模块之copy的功能介绍 copy主要分两种: 1.浅拷贝 2.深拷贝 赋值: 在python中赋值算特殊的拷贝,其实赋值可以理解为同一个对象有两个名字,所以当其中一个发生变化,另一个也跟着会变化. ...
- Python中模块之queue的功能介绍
模块之queue的功能介绍 队列的分类: 队列主要要分为两种 1.双向队列 2.单项队列 1. 单项队列 创建单项队列 格式:queue.Queue(obj) 例如:que = queue.Queue ...
- Python中模块之sys的功能介绍
sys模块的功能介绍 1. sys的变量 argv 命令行参数 方法:sys.argv 返回值:list 例如:test1.py文件中有两句语句1.import sys 2.print(sys.arg ...
- Python中模块之re的功能介绍
re模块的功能介绍 1. 方法 match 从开头开始查找 方法:re.match(pattern,string,flags=0) 返回值:<class '_sre.SRE_Match'> ...
- Python中模块之random的功能介绍
random的功能介绍 random模块的方法如下: betavariate 获取一个range(0,1)之前的随机浮点数 方法:random.betavariate(alpha,beta) 返回值: ...
- Python中生成器和迭代器的功能介绍
生成器和迭代器的功能介绍 1. 生成器(generator) 1. 赋值生成器 1. 创建 方法:x = (variable for variable in iterable) 例如:x = (i f ...
- Python中def及lambda的功能介绍
函数def及lambda的功能介绍 1. def函数的功能介绍 1. 函数的参数 无参数函数 格式:def func_name(): '''__doc__'''#函数的说明文档(内容) express ...
- Python常用模块sys,os,time,random功能与用法,新手备学。
这篇文章主要介绍了Python常用模块sys,os,time,random功能与用法,结合实例形式分析了Python模块sys,os,time,random功能.原理.相关模块函数.使用技巧与操作注意 ...
- 查看python中模块的所有方法
查看python中模块的所有方法 安装的python模块,现将查看方法总结如下 一.CMD命令行下使用pydoc命令 在命令行下运行$ pydoc modules即可查看 二.在python交 ...
随机推荐
- Ajax 的onreadystatechange事件注意事项.
<script type="text/javascript"> function createXHR() { var request = false; try { re ...
- JAVA_SE基础——32.this关键字调用本类的构造方法
黑马程序员入学blog... 也算是学习笔记. 下面我们来看段代码: package day07; class Student{ int id; //身份证 String name; //名字 pub ...
- Python之旅_第一章Python入门
一.编程语言分类 1.机器语言:即计算机能听懂的二进制语言,0000 0001,直接操控硬件: 2.汇编语言:简写的英文标识符代替二进制语言,本质同样是直接操控硬件: 3.高级语言:用更贴近人类的语言 ...
- php的api及登录的权限验证
类,库,接口(APi),函数,这些概念都是根据问题规模的大小来界定的.一个很小的问题肯定没有必要写成一个库,只需要写几句话就行了. 但是比如一个登录验证,这个功能很强大,很通用,可能前台后台都需要用到 ...
- CentOS 7 PHP-redis扩展安装,浏览器不显示数据及redis无法储存数据常见问题解决办法
首先使用php -m 可以查看到自己安装了那些扩展. 1.使用wget下载redis压缩包 wget https://github.com/phpredis/phpredis/archive/deve ...
- PHP处理上传文件
HTML中使用type = 'file'类型的表单可以向服务器上传文件: 上传文件的表单必须在form中定义enctyp = 'multipart/form-data': HTML代码如下: < ...
- JQ 标签相关知识
1.判断 checkbox 和 radio 是否选中 if($("标签选择器").is(":checked")) 2.改变 checkbox 选中状态 .pro ...
- 深入解析OpenCart的代理类proxy
1.什么是代理类 代理类指的是连接远程对象或不可见对象的接口,通常被客户端调用来连接真实的服务对象.更准确的定义参见维基百科 2.代理的作用 作为一个包装类,提供额外的功能 延迟加载 在本文讲到的op ...
- ORM “杀器”之 JOOQ
ORM “杀器”之 JOOQ IN 后端编程,JAVA,敏捷开发,数据库 JOOQ是啥? JOOQ 是基于Java访问关系型数据库的工具包,轻量,简单,并且足够灵活,可以轻松的使用Java面向对象语法 ...
- HTML5的常用新特性你必须知道
HTML5的常用新特性你必须知道 1 新的 声明 HTML 有多个不同的版本,只有完全明白页面中使用的确切 HTML 版本,浏览器才能完全正确地显示出 HTML 页面.这就是 的用处. 不是 HTML ...