作为常用内置库,没啥好说的,直接开撸!记住英文吧,built-in module
os.access(path, mode)检验权限模式
参数
mode:
os.F_OK: path是否存在。
os.R_OK: path是否可读。
os.W_OK: path是否可写。
os.X_OK: path是否可执行。
返回值
True/false
示例
In [98]: os.access('3D61.tmp',os.F_OK)
Out[98]: True
In [99]: os.access('3D61.tmp',os.R_OK)
Out[99]: True
In [100]: os.access('3D61.tmp',os.W_OK)
Out[100]: True
In [101]: os.access('3D61.tmp',os.X_OK)
Out[101]: True
os.chdir(path)改变当前工作目录
#示例
In [88]: pwd
Out[88]: 'C:\\Users\\Administrator'
In [89]: os.chdir('D:')
In [90]: pwd
Out[90]: 'D:\\'
os.chmod(path, mode)更改权限
参数
mode:可用以下选项按位或操作生成, 目录的读权限表示可以获取目录里文件名列表,,执行权限表示可以把工作目录切换到此目录 ,删除添加目录里的文件必须同时有写和执行权限 ,文件权限以用户id->组id->其它顺序检验,最先匹配的允许或禁止权限被应用。
stat.S_IXOTH: 其他用户有执行权0o001
stat.S_IWOTH: 其他用户有写权限0o002
stat.S_IROTH: 其他用户有读权限0o004
stat.S_IRWXO: 其他用户有全部权限(权限掩码)0o007
stat.S_IXGRP: 组用户有执行权限0o010
stat.S_IWGRP: 组用户有写权限0o020
stat.S_IRGRP: 组用户有读权限0o040
stat.S_IRWXG: 组用户有全部权限(权限掩码)0o070
stat.S_IXUSR: 拥有者具有执行权限0o100
stat.S_IWUSR: 拥有者具有写权限0o200
stat.S_IRUSR: 拥有者具有读权限0o400
stat.S_IRWXU: 拥有者有全部权限(权限掩码)0o700
stat.S_ISVTX: 目录里文件目录只有拥有者才可删除更改0o1000
stat.S_ISGID: 执行此文件其进程有效组为文件所在组0o2000
stat.S_ISUID: 执行此文件其进程有效用户为文件所有者0o4000
stat.S_IREAD: windows下设为只读
stat.S_IWRITE: windows下取消只读
示例
# 设置文件可以通过用户组执行
os.chmod("/tmp/foo.txt", stat.S_IXGRP)
# 设置文件可以被其他用户写入
os.chmod("/tmp/foo.txt", stat.S_IWOTH)
os.chown(path, uid, gid)更改文件所有者和属组
示例:
In [4]: os.chown('test', 1001, 1001)
In [5]: ls
bison-2.5.1/ inception/ Python-3.6.4.tgz redis-2.6.14/ shelltest/
dump.rdb Python-3.6.4/ python36env/ redis-2.6.14.tar.gz test
In [6]: ls -lh
-rw-rw-r-- 1 vagrant vagrant 0 May 1 14:24 test
os.getcwd()返回当前工作目录,相当于pwd
In [12]: os.getcwd()
Out[12]: '/home/vagrant'
In [13]: pwd
Out[13]: '/home/vagrant'
os.getcwdu()返回一个当前工作目录的Unicode对象
os.getcwdb()返回一个当前工作目录的bytes对象
os.listdir(path) 返回path指定的文件夹包含的文件或文件夹的名字的列表。
In [17]: os.listdir('/')
Out[17]:
['boot','dev','proc','run','sys','etc','root','tmp','var','usr','bin','sbin','lib','lib64','home','media','mnt','opt','srv','.autorelabel','vagrant','temp']
os.lstat(path)像stat(),但是没有软链接,返回一个元组。
示例:# 获取元组
info = os.lstat(path)
print "文件信息 :", info
# 获取文件 uid
print "文件 UID :%d" % info.st_uid
# 获取文件 gid
print "文件 GID :%d" % info.st_gid
os.makedirs(path[, mode])递归文件夹创建函数,像mkdir(),默认权限777,通过三位数字的方式指定权限。
示例
In [24]: os.makedirs('test/test')
In [25]: ls
bison-2.5.1/ inception/ Python-3.6.4.tgz redis-2.6.14/ shelltest/
dump.rdb Python-3.6.4/ python36env/ redis-2.6.14.tar.gz test/
In [26]: ls test/
test/
os.mkdir(path[, mode])创建一个目录,无法递归创建,默认权限777,通过三位数字的方式指定权限。
os.remove(path)删除路径为path的文件。如果path是一个文件夹,将抛出OSError; 查看下面的rmdir()删除一个directory。
os.removedirs(path)递归删除目录。
os.rename(src, dst)重命名文件或目录,从src到dst
os.renames(old, new)递归地对目录进行更名,也可以对文件进行更名。
os.rmdir(path)删除path指定的空目录,如果目录非空,则抛出一个OSError异常。
os.stat(path)获取path指定的路径的信息,功能等同于CAPI中的stat()系统调用。
os.symlink(src, dst)创建一个软链接
os.unlink(path)删除文件路径,与remove一样
os.utime(path, times)返回指定的path文件的访问和修改的时间。