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交 ...
随机推荐
- 集合Collection总览
前言 声明,本文使用的是JDK1.8 从今天开始正式去学习Java基础中最重要的东西--->集合 无论在开发中,在面试中这个知识点都是非常非常重要的,因此,我在此花费的时间也是很多,得参阅挺多的 ...
- 【深度学习】深入理解Batch Normalization批标准化
这几天面试经常被问到BN层的原理,虽然回答上来了,但还是感觉答得不是很好,今天仔细研究了一下Batch Normalization的原理,以下为参考网上几篇文章总结得出. Batch Normaliz ...
- python基础——匿名函数及递归函数
python基础--匿名函数及递归函数 1 匿名函数语法 匿名函数lambda x: x * x实际上就是: def f(x): return x * x 关键字lambda表示匿名函数,冒号前面的x ...
- WPF设置控件获得焦点
1.这个比较有效 this.Dispatcher.BeginInvoke(DispatcherPriority.Background, (Action)(() => { Keyboard.Foc ...
- linux查看日志文件内容命令tail、cat、tac、head、echo
linux查看日志文件内容命令tail.cat.tac.head.echo tail -f test.log你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C, ---------- ...
- jacascript CSS样式的脚本化操作
前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! 引入CSS有3种方式:行间样式,内联样式和外部链接样式. 在实际工作中,我们使用 javascript 操 ...
- NGUI---使用脚本控制聊天系统的内容显示,输入事件交互
在我的笔记Unity3D里面之 简单聊天系统一 里面已经介绍怎么创建聊天系统的背景.给聊天系统添加滚动条,设置Anchor锚点.以及设计聊天系统的输入框. 效果图如下所示: 现在我们要做的就是使用脚本 ...
- 【API调用】腾讯云短信
在之前介绍的火车票查询工具中,利用邮件和短信将查询结果推送给用户.免费短信的条数只有5条,用完之后只能单独使用邮件提醒. 最近发现腾讯云的福利,简单的介绍一下用法. 腾讯云->产品->通信 ...
- Node.js系列文章:如何进行代码调试
使用任何一门编程语言,都少不了代码调试这一功能.我们在使用JavaScript编写浏览器端代码时,Chrome提供了强大的调试工具Dev Tools,但是在编写Node.js代码时,大多数人最开始都使 ...
- Javascript中获取浏览器类型和操作系统版本等客户端信息常用代码
/** * @author hechen */ var gs = { /**获得屏幕宽度**/ ScreenWidth: function () { return window.screen.widt ...