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交 ...
随机推荐
- 火车头采集器对接织梦cms图集发布时, 采集网上图片超时的解决方法
背景介绍: 火车头采集器对接织梦cms图片集发布时, 对于多张(超过30张)大图片时, 经常会出现图集发布超时的情况. 问题分析: 因为php对于资源的处理有默认的超时时间30秒, 而我尝试了好多方 ...
- TFTP通信原理
TFTP的通信流程 TFTP共定义了五种类型的包格式,格式的区分由包数据前两个字节的Opcode字段区分,分别是: · l 读文件请求包:Read request,简写为RRQ,对应Opcode字段值 ...
- 关于win10系统1709版本安装JDK出现变量配置正确但仍有“java不是内部或外部命令”的解决办法
背景:联想拯救者R720笔记本,系统一键还原了,需要重新安装一部分软件,最基本的就是JDK,但今天在安装时遇到了问题,之前安装的1.8版本,没有仔细配置环境变量,这一次安装的是1.7版本的,仔仔细细配 ...
- SpringMvc返回报文形式的控制-验证方法: JSON or HTML or XML
首先,请求通过accept请求头声明了支持的返回格式 然后,框架根据该请求头和代码实现(注解)选择了对应的MessageConverter处理返回! 一.验证过程 1.返回html 1.1.请求组装 ...
- python入门(12)dict
python入门(12)dict Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度. 举个例 ...
- POJ-1062 昂贵的聘礼---Dijkstra+枚举上界
题目链接: https://vjudge.net/problem/POJ-1062 题目大意: 中文题 思路: 1是终点,可以额外添加一个源点0,0到任意一节点的距离就是这个点的money,最终求的是 ...
- [转]pycharm常用快捷键及设置
PyCharm3.0默认快捷键(翻译的) PyCharm Default Keymap 1.编辑(Editing) Ctrl + Space 基本的代码完成(类.方法.属性)Ctrl + Alt ...
- issubclass判断前面是不是后面的子类
issubclass(sub,sup) 判断前面是不是后面的子类
- bcrypt对密码加密的一些认识(学习笔记)
学习nodejs和mongoDB的时候,接触了用户注册和登录的一些知识. 1.关于增强用户密码的安全性 用户的密码肯定不能保存为明文,避免撞库攻击. 撞库攻击:撞库是一种针对数据库的攻击方式,方法是通 ...
- C++ namespace的作用
namespace:命名空间或者叫名字空间,传统的c++只有一个全局的namespace,但是由于现在的程序规模越来越大,程序的分工越来越细,全局作用域就变得越来越拥挤,每个人都可能使用相同的名字来实 ...