python OS模块

OS模块

os模块就是对操作系统进行操作,使用该模块必须先导入模块:

import os

OS模块中的函数

getcwd()
功能:获取当前的工作目录
格式:os.getcwd()
返回值:路径字符串
chdir()
功能:修改当前工作目录
格式:os.chdir()
返回值:None
listdir()
功能:获取指定文件夹中的所有文件和文件夹组成的列表
格式:os.listdir(目录路径)
返回值:目录中内容名称的列表
mkdir()
功能:创建一个目录/文件夹
格式:os.mkdir(目录路径)
返回值:None
makedirs()
功能:递归创建文件夹
格式:os.makedirs(路径)
rmdir()
功能:移除一个目录(必须是空目录)
格式:os.rmdir(目录路径)
返回值:None
removedirs()
功能:递归删除文件夹
格式:os.removedirs(目录路径)
返回值:None

注意:如:删除D:/a/b/c
如果abc文件夹中除了路径显示的文件夹之外没有任何其他文件或者文件夹,removedirs会移除掉所有文件夹a,b,c如果abc任意文件夹中包含其他文件或者文件夹,则该文件夹不会被删除,如果是最底层的c文件夹则会爆出非空错误。

rename()
功能:修改文件和文件夹的名称
格式:os.rename(源文件或文件夹,目标文件或文件夹)
返回值:None

stat()
功能:获取文件的相关信息
格式:os.stat(文件路径)
返回值:包含文件信息的元组
inode:(索引节点)
st_mode #权限模式
st_ino #inode number inode节点号
st_dev #驻留的设备
st_nlink #number of hard links inode链接数
st_uid #所有用户的user id 所有者的用户ID
st_gid #所有用户的group id 所有者的组ID
st_size #文件的大小,以位为单位
st_atime #文件最后访问时间
st_mtime #文件最后修改时间
st_ctime #文件创建时间

system()
执行系统命令
格式:os.system()
返回值:整型

慎用!!!,不小心来个rm -rf/欲哭无泪!!!

getenv()
功能:获取系统环境变量
格式:os.getenv(获取的环境变量名称)
返回值:字符串

putenv()
功能:设置系统环境变量
格式:os.putenv(‘环境变量名称’,值)
返回值:无
注意:putenv确实可以添加成功,但是无法使用正常的getenv检测到临时增加环境变量,只对当前脚本有效

exit()
功能:推出当前执行命令,直接关闭当前操作
格式:exit()
返回值:无

当前OS模块的值

curdir
os.curdir
功能:获取当前路径 输出都是.
pardir
os.pardir
功能:获取上层目录路径 输出都是…
path
os.path
功能:os中的一个子模块,操作非常多
name
os .name
功能:当前系统的内核名称 win->nt linux/unix->posix
sep
os.sep
功能:获取当前系统的路径分割符号 window -> \ linux/unix -> /
Python 是跨平台的。
在 Windows 上,文件的路径分割符号是 ‘’ ,在 Linux 上 是 ‘/’。
为了让你的代码在不同的平台上都能运行,那么你写路径的时候是写 ‘/’ 还是写 ‘’ 呢?
使用 os.sep 的话,你就不用去考虑这个了,os.sep 根据你所处的平台,自动地采用相应的分割符号。
举例:
Linux下一个路径, /usr/share/python,那么上面的 os.sep 就是 ‘/’
Windows下一个路径, C:\Users\Public\Desktop, 那么上面的 os.sep 就是 ‘’
extsep
os.extsep
功能:获取当前系统中文件名和后缀之间的分割符号,所有系统都是.
linesep
os.linesep
功能:获取当前系统的换行符号 window -> \r\n linux/unix -> \n

os.environ模块

os.environ
可以直接获取所有环境变量的信息组成的字典,如果希望更改环境变量,并且可以查询得到,就需要对os.environ进行操作
该模块的所有方法均是字典的方法,可以通过字典的os.environ的结果进行操作。

注意:无论使用os.getenv,putenv 还是使用os.environ进行环境变量的操作,都是只对当前脚本,临时设置而已,无法直接更新或者操作系统的环境变量设置。

os.path模块

os.path是os模块中的子模块,包含很多和路径相关的操作
函数部分
abspath()
功能:将一个相对路径转化为绝对路径
格式:os.path.abspath(相对路径)
返回值:绝对路径字符串
函数所获取的"当前文件路径"都是被执行的脚本文件的所在路径

os.path.abspath("admin.lsr")
'c:\\Users\\cz\\admin.lsr'

basename()
功能:获取路径中的文件夹或者文件名称(只要路径的最后一部分)
格式:os.path.basename(路径)
返回值:路径的最后一部分(可能是文件名也可能是文件夹名)

l = os.path.abspath("admin.lsr")
os.path.basename(1)
'admin.lsr'

dirname()
功能:获取路径中的路径部分(出去最后一部分)
格式:os.path.dirname(路径)
返回值:路径中除了最后一部分的内容字符串\

os.path.dirname(1)
'c:\\Users\\cz'

join()
功能:将2个路径合成一个路径
格式:os.path.join(路径1,路径2)
返回值:合并之后的路径

var1 = "c:\\Users\\"
var2 = "cz\\admin.lsr"
os.path.join(var1,var2)
'c\\Users\\cz\\admin.lsr'

三种情况:
print(“1:”,os.path.join(‘aaaa’,’/bbbb’,‘ccccc.txt’))

print(“2:”,os.path.join(’/aaaa’,’/bbbb’,’/ccccc.txt’))

print(“3:”,os.path.join(‘aaaa’,’./bbb’,‘ccccc.txt’))
split()
功能:将一个路径切割成文件夹和文件名部分
格式:os.path.split(路径)
返回值:元组

l = os.path.abspath("admin.lsr")
os.path.split(1)
('c:\\Users\\cz','admin.lsr')

splitext()
功能:将一个文件名切成名字和后缀两个部分
格式:os.path.splitext(文件名称)
返回值:元组(名称,后缀)

os.path.splitext("admin.lsr")
('admin','.lsr')

getsize()

功能:获取一个文件的大小
格式:os.path.getsize(路径)
返回值:整数

isfile()

功能:检测一个路径是否是一个文件
格式:os.path.isfile(路径)
返回值:布尔值

isdir()

功能:检测一个路径是否是一个文件夹
格式:os.path.isdir(路径)
返回值:布尔值

getctime()

功能:获取文件的创建时间 (get create time)
格式:os.path.getctime(文件路径)
返回值:时间戳浮点数

getmtime()

功能:获取文件的修改时间(get modify time)
格式:os.path.getmtime(文件路径)
返回值:时间戳浮点数

getatime()

功能:获取文件的访问时间(get active time)
格式:os.path.getatime(文件路径)
返回值:时间戳浮点数

exists()

功能:检测指定的路径是否存在
格式:os.path.exists(路径)
返回值:布尔值

isabs()

功能:检测一个路径是否是绝对路径
格式:os.path.isabs(路径)
返回值:布尔值

islink()

功能:检测一个路径是否是链接
格式:os.path.islink(路径)
返回值:布尔值
但如果系统不支持链接,则返回False。

samefile()

功能:检测2个路径是否指向同一个文件
格式:os.path.samefile(路径1,路径2)
返回值:布尔值

相对路径与绝对路径

相对路径:
文件路径以当前文件所在文件夹为参考位置的路径就是相对路径,相对路径中常见的符号有.和…
. 表示在当前文件夹中
… 表示在当前文件夹的上层文件夹中
例如:./abc.jpg
…/我和老师.avi
my.txt(省略了.)
abc/nidaye/nidama/不能看.exe(省略了.)
绝对路径:
文件路径以某个精确位置作为参考位置的路径就是绝对路径,绝对路径因环境不同,参考点也略有不同。windows: 以某个盘符作为参考位置的路径 C:/window/bow… D:/die/niang/jiaren.exe
linux: 以/(根)作为参照位置的路径 /etc/host /var/apache/…
url(网址): 以服务器地址作为参照位置的路径(URI) https://www.wxpython.org/ https://www.taobao.com/search/wawa.html ftp://192.168.0.1/python/zuoye/11/os.md

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值