当前位置:   article > 正文

Python中的os库

os库

一.OS库简介

OS是Operating System的简写,即操作系统。

OS库是一个操作系统接口模块,提供一些方便使用操作系统相关功能的函数

二.OS库常用函数

2.1文件和目录

2.1.1:os.getcwd()

作用:返回当前工作目录,结果是一个字符串

print(f"当前工作目录为:{os.getcwd()}")

 结果:

2.1.2:os.mkdir(path)

作用:

创建一个路径为path的目录

os.mkdir(f"{os.getcwd()}/zheshiyangyang")

结果:

 2.1.3:os.rmdir(path)

作用:

删除路径为path的目录,若路径不为空或者不存在,则会报错

  1. os.rmdir("666")
  2. os.rmdir("鞠婧祎")
  3. os.rmdir("zheshiyangyang")

效果:

2.1.4:os.chdir(path)

作用:

将工作目录改为path路径下。

  1. tmp = os.getcwd()
  2. os.chdir("E:/zheshiyangyang")
  3. print(f"当前工作目录为:{os.getcwd()}")
  4. os.chdir(tmp)
  5. print(f"当前工作目录为:{os.getcwd()}")

效果:

 

2.1.5:os.listdir(path)

作用:

返回path路径下所有文件和目录名的任意顺序排列的列表。

print(os.listdir(os.getcwd()))

效果:

2.2:os.path常见路径操作

2.2.1:os.path.abspath(path)

作用:

返回path路径的绝对路径(标准化的),path不存在也不会报错

print(os.path.abspath("main.py"))

效果:

2.2.2:os.path.basename(path)

作用:

返回路径path的基本名称(即路径path的最末级文件

print(os.path.basename("main.py"))

效果:

2.2.3:os.path.dirname(path)

作用:

返回路径path的目录名称(即路径path的最末级文件夹

print(os.path.dirname(os.getcwd()))

 效果:

2.2.4:os.path.exists(path)

作用:

判断path是否指向一个已存在的路径,存在返回True,不存在返回False。

  1. print(os.path.dirname(os.getcwd()+"/main.py")) #文件夹存在
  2. print(os.path.dirname(os.getcwd()+"/666.py")) #文件不存在

效果:

2.2.5:os.path.isabs(path)

作用:

判断path是否为一个绝对路径,是返回True,不是返回False。

  1. print(os.path.isabs(os.getcwd())) #是绝对路径
  2. print(os.path.isabs("main.py")) #不是绝对路径

效果:

 2.2.6:os.path.isfile(path)

作用:

判断path是否为一个已存在的文件,是则返回True,不是返回False。

  1. print(os.path.isfile(os.getcwd())) #不是文件
  2. print(os.path.isfile("main.py")) #是文件

效果:

2.2.7:os.path,isdir(path)

作用:

若path指向一个已存在文件夹的符号链接或者一个已存在文件夹路径,返回True,否则返回False

print(os.path.isdir("鞠婧祎"))

效果:

2.2.8:os.path.normcase(path)

作用:

规范路径名称,在Windows操作系统上,将路径名称中的所有字符转为小写,将所有反斜杠转为斜杠。在其它系统上,不做任何修改,返回原先的path。

print(os.path.normcase("C:/6ABS/ADAS4"))

效果:

2.2.9:os.path.split(path)

作用:

将路径path拆分成(head,tail),其中head表示除去路径最后一部分外的所有内容,tail表示路径最后一部分

值得注意的是:

tail部分不会包含斜杠,如果path以斜杠结尾,tail将为空。

如果path中没有斜杠,head将为空。

如果path为空,则head和tail均为空。

  1. example1 = "/abc/def/haha.txt" #一般路径
  2. example2 = "/abc/def/" #以斜杠结尾的路径
  3. example3 = "main.py" #没有斜杠的路径
  4. example4 = "" #空路径
  5. example5 = "/" #根目录
  6. print("一般路径head={},tail={}".format(*os.path.split(example1)))
  7. print("以斜杠结尾的路径head={},tail={}".format(*os.path.split(example2)))
  8. print("没有斜杠的路径head={},tail={}".format(*os.path.split(example3)))
  9. print("空路径head={},tail={}".format(*os.path.split(example4)))
  10. print("根目录head={},tail={}".format(*os.path.split(example5)))

效果:

2.2.10:os.path.splitext(path)

作用:

将路径path产分为(A,B),其中A+B == path,B为空或者英文句点开头(最多包含一个句点),且最多包含一个句点。路径前的句点将被忽略。

简单来讲,就是拿掉文件的后缀

  1. example1 = "/abs/cdf/" #文件夹路径
  2. example2 = "/abs/a.b.py" #包含多个句点的文件路径
  3. example3 = "/abc/66.py" #包含单个句点的文件路径
  4. example4 = ".exam" #以句点开头的路径
  5. print("文件夹路径root={},ext={}".format(*os.path.splitext(example1)))
  6. print("包含多个句点的文件路径root={},ext={}".format(*os.path.splitext(example2)))
  7. print("包含单个句点的文件路径root={},ext={}".format(*os.path.splitext(example3)))
  8. print("以句点开头的路径root={},ext={}".format(*os.path.splitext(example4)))

效果:

2.2.11:os.path.join(path1,path2,path3,......)

作用:

将路径拼接,具体规则如下:

1.如果不存在以“/”或者“/”开始的参数,函数会自动加上“\”。

print(os.path.join("ab","cd","ef"))

2.如果存在“/”或者“\”开头的参数,则从最后一个“/”或者“\”开始拼接,之前的参数全部舍弃。

  1. print(os.path.join("abc","/cd","ef")) #存在/
  2. print(os.path.join("abc","\\6","ef")) #存在\
  3. print(os.path.join("/abc","/cd","ef")) #存在多个/

 

ps:若是从“/”开始,则“/”不会被替换为“\” 

3.如果存在“./”和“/”开头的参数,则以“/”为标准,忽略“./”。

print(os.path.join("abc","./sda","/cxz"))

输出:/cxz 

 4.如果只存在./”开头的参数,则从“./”开头的参数的上一个参数开始拼接。

print(os.path.join("abc","./efd","sad"))

 输出:abc\./efd\sad

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/729669
推荐阅读
相关标签
  

闽ICP备14008679号