一、Python os模块
包含普遍的操作系统功能,如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。
1、os.access()
查看文件是否有指定权限,有则返回True否则返回flase
os.access(path, mode)
- path:指定文件路径
- mode:参数有F_OK(是否存在),R_OK(可读),W_OK(可写),X_OK(可执行)
>>> os.access('/python/test.py',os.F_OK) #是否存在
True
>>> os.access('/python/test.py',os.R_OK) #是否可读
True
>>> os.access('/python/test.py',os.W_OK) #是否可写
True
>>> os.access('/python/test.py',os.X_OK) #是否可执行
False
2、os.chdir()
方法用于改变当前工作目录到指定的路径。
>>> os.getcwd() #查看当前工作路径
'/python
>>> os.chdir('/root/') #修改当前工作路径到‘/root’
>>> os.getcwd()
'/root'
3、os.chmod()
方法用于更改文件或目录的权限。
权限指定:
- 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下取消只读
# ll
---------- 1 nobody nobody 167 9月 10 13:43 test.py
>>> import stat,os
>>> os.chmod('/python/test.py',stat.S_IXOTH) #其他用户有可执行权限
[root@python python]# ll test.py
---------x 1 nobody nobody 167 9月 10 13:43 test.py
>>> os.chmod('/python/test.py',stat.S_IWOTH) #写权限
>>> os.chmod('/python/test.py',stat.S_IROTH) #读权限
>>> os.chmod('/python/test.py',stat.S_IRWOT) #全部权限
>>> os.chmod('/python/test.py',stat.S_IXGRP) #组用户有执行权限
[root@python python]# ll test.py
------x--- 1 nobody nobody 167 9月 10 13:43 test.py
#注意修改权限会消除以前的权限,只保留修改的权限
>>> os.chmod('/python/test.py',stat.S_IWGRP) #组用户有写权限
>>> os.chmod('/python/test.py',stat.S_IRGRP) #组用户有读权限
>>> os.chmod('/python/test.py',stat.S_IRWXG) #组用户有所有权限
>>> os.chmod('/python/test.py',stat.S_IXUSR) #拥有者有执行权限
>>> os.chmod('/python/test.py',stat.S_IWUSR) #拥有者有写权限
>>> os.chmod('/python/test.py',stat.S_IRUSR) #拥有者有读权限
>>> os.chmod('/python/test.py',stat.S_IRWXU) #拥有者有所有权限
[root@python python]# ll test.py
-rwx------ 1 nobody nobody 167 9月 10 13:43 test.py
4、os.chown()
方法用于更改文件所有者,如果不修改可以设置为 -1, 你需要超级用户权限来执行权限修改操作。
只支持在 Unix 下使用。
>>> os.chown('/python/test.py',0,0) #设置文件的UID为0,root用户,GID为0,root组
[root@python python]# ll test.py
-rwx------ 1 root root 167 9月 10 13:43 test.py
5、os.chroot()
方法用于更改当前进程的根目录为指定的目录,使用该函数需要管理员权限。
6、os.close()
方法用于关闭指定的文件描述符 fd。
>>> os.name #判断现在的实用平台,windows返回‘nt’,linux返回
'posix'
>>> os.getcwd() #返回当前工作的目录
'/root'
>>> os.listdir('.') #返回指定目录下所有的文件和目录名
['file.txt', 'test', 'caidan.py', 'test.txt', 'test.py', 'test1.py', 'enumerate.py', 'login.py']
>>> os.remove('test1.py') #删除指定文件
>>> os.listdir('.')
['file.txt', 'test', 'caidan.py', 'test.txt', 'test.py', 'enumerate.py', 'login.py']
>>> os.rmdir('aaa') #删除指定目录
>>> os.mkdir('directory') #创建目录,只能创建一层目录
>>>os.path.isfile()——判断指定对象是否为文件。是返回True,否则False
>>