一起养成写作习惯!这是我参与「掘金日新计划 · 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,表示给出的路径不能执行。