Python之os模块一

159 阅读3分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第13天,点击查看活动详情

所有的文件都包含在各个不同的目录下,不过Python也可以轻松的处理,os模块有很多方法能创建、删除和更改目录。

1、mkdir

os.mkdir(newdir)方法是表示在当前目录下创建新的目录,参数newdir表示需要创建的目录名称

eg:

import os
m = os.mkdir("文件夹")

表示在当前目录下创建一个新的目录“文件夹”的目录。

2、makedirs

os.makedirs("A/B/C")方法表示创建多级目录。

eg:

import os
os.makedirs("/Users/admin/Desktop/111/222")

表示在/Users/admin/Desktop这个路径下创建了一个111文件夹,又在111文件夹下创建222文件夹

3、chdir

os.chdir(newdir)方法是用来改变当前的目录。参数newdir表示想设成当前目录的目录名称。

eg:

import os
os.chdir("/Users/admin/Desktop/")
os.mkdir("测试一个文件夹的情况")

表示将当前目录更改成“/Users/admin/Desktop/”,然后再这个目录下创建一个“测试一个文件夹的情况”的文件夹。

4、getcwd

os.getcwd()方法是获取当前的工作目录

eg:

import os
os.chdir("/Users/admin/Desktop/")
m = os.getcwd()
print(m)

此时打印结果为“/Users/admin/Desktop”,表示先用chdir进入/Users/admin/Desktop/这个目录,然后再查看一下当前所在的目录。

5、rmdir

os.rmdir(dirname)方法是删除目录。参数dirname表示需要删除的目录名称,注意:要删除的这个目录,必须是空目录,否则会报错

eg:

import os
os.chdir("/Users/admin/Desktop/")
os.rmdir('测试一个文件夹的情况')

表示进入/Users/admin/Desktop/这个目录 ,删除“测试一个文件夹的情况”这个文件夹,前提这个文件夹是空的。

如果文件夹不是空的此时会报错。提示目录不是空的。

6、removedirs

os.removedirs('A/B/C')方法是删除多级目录

eg:

import os
os.removedirs("/Users/admin/Desktop/111/222")

表示直接删除这个路径下的222文件夹,rmdir表示只能删除这个目录,removedirs表示可以删除多级目录

7、access os.access(path,mode)方法是使用当前的uid/gid尝试访问路径。大部分操作使用有效的 uid/gid, 因此运行环境可以在 suid/sgid 环境尝试。返回True表示允许,False表示不允许。参数path表示要用来检测是否有访问权限的路径。参数mode表示测试测试存在的路径,它可以是包含R_OK, W_OK和X_OK或者R_OK, W_OK和X_OK其中之一或者更多。 os.F_OK:作为access()的mode参数,测试path是否存在 os.R_OK:包含在access()的mode参数中,测试path是否可读 os.W_OK:包含在access()的mode参数中,测试path是否可写 os.X_OK:包含在access()的mode参数中,测试path是否可执行。

测试路径是否存在:

os.chdir("/Users/admin/Desktop/test111")
m = os.access("/Users/admin/Desktop/test111/ceshi.txt",os.F_OK)
print(m)

此时打印结果为True,表示路径存在。

测试路径是否可读:

os.chdir("/Users/admin/Desktop/test111")
m = os.access("/Users/admin/Desktop/test111/ceshi.txt",os.R_OK)
print(m)

此时打印结果为True,表示给出的路径可以读

测试路径是否可写:

os.chdir("/Users/admin/Desktop/test111")
m = os.access("/Users/admin/Desktop/test111/ceshi11.txt",os.W_OK)
print(m)

此时打印结果为False,表示给出的路径不可以写

测试路径是否可执行:

os.chdir("/Users/admin/Desktop/test111")
m = os.access("/Users/admin/Desktop/test111/ceshi.txt",os.X_OK)
print(m)

此时打印结果为False,表示给出的路径不能执行。