发布时间:2019-09-08 09:13:28编辑:auto阅读(1596)
os模块提供了访问多个操作系统服务的功能,os模块的子模块os.path模块也包含了一些文件目录常用操作的函数。
access(path, mode) :检测对文件的访问权限。
>>> os.access('/root/zhu.txt', os.F_OK) True >>> os.access('/root/zhu.txt', os.R_OK) True >>> os.access('/root/zhu.txt', os.W_OK) True >>> os.access('/root/zhu.txt', os.X_OK) False os.F_OK :测试路径的存在 os.R_OK :是否有读权限 os.W_OK :是否有写权限 os.X_OK :是否有执行权限
chdir(path) :改变当前的工作目录
os.getcwd() :显示当前的工作目录
>>> os.getcwd() '/root' >>> os.chdir('/home') >>> os.getcwd() '/home'
chmod(path, mode) :修改文件的权限
>>> os.chmod('/root/zhu.txt',0700) >>> os.system('ls -l /root/zhu.txt') -rwx------. 1 root root 94 2月 24 19:08 /root/zhu.txt >>> os.chmod('/root/zhu.txt',0750) >>> os.system('ls -l /root/zhu.txt') -rwxr-x---. 1 root root 94 2月 24 19:08 /root/zhu.txt 这是通过数字方法修改权限, 还有其它模式
chown(path, uid, gid) :改变文件的所属主和所属组
>>> os.system('ls -l /root/zhu.txt') -rwxr-x---. 1 root root 94 2月 24 19:08 /root/zhu.txt 0 >>> os.chown('/root/zhu.txt',500,500) >>> os.system('ls -l /root/zhu.txt') -rwxr-x---. 1 zhu zhu 94 2月 24 19:08 /root/zhu.txt 0
os.link(src, dst) :创建一个硬链接
>>> os.link('/root/zhu.txt','/root/taotao') [root@localhost ~]# ll 总用量 32924 -rw-r--r--. 1 root root 33692010 2月 20 02:13 mpmt-web.war drwxr-xr-x. 2 root root 4096 2月 24 23:38 mypython drwxr-xr-x. 2 root root 4096 2月 18 10:31 myshell drwxr-xr-x. 2 root root 4096 2月 20 02:07 source -rwxr-x---. 2 zhu zhu 94 2月 24 19:08 taotao -rwxr-x---. 2 zhu zhu 94 2月 24 19:08 zhu.txt
os.listdir(path):返回一个列表,目录下面的内容
>>> os.listdir('/root') ['taotao', '.Xauthority', '.bash_logout', '.bash_profile', '.cshrc', '.pythonhistory', '.bashrc', '.viminfo', 'mypython', 'zhu.txt', '.bash_history', 'mpmt-web.war', '.tcshrc', 'source', '.jboss-cli-history', '.lesshst', 'myshell']
os.mkdir(path [, mode=0777]) :创建一个空目录
>>> os.mkdir('/root/zzz',0700) >>> os.mkdir('/root/yyy') >>> os.system('ls -ld /root/zzz') drwx------. 2 root root 4096 2月 25 02:38 /root/zzz 0 >>> os.system('ls -ld /root/yyy') drwxr-xr-x. 2 root root 4096 2月 25 02:37 /root/yyy 0 模式默认为777,
os.makedirs(path [, mode=0777]):递归创建目录
>>> os.makedirs('/root/aaa/bbb') >>> os.listdir('/root/aaa') ['bbb'] 递归创建目录
os.remove(path):删除一个文件
>>> os.remove('/root/aaa/bbb') Traceback (most recent call last): File "<stdin>", line 1, in <module> OSError: [Errno 21] Is a directory: '/root/aaa/bbb' #删除目录出错 >>> os.remove('/root/taotao') #只能删除文件
os.removedirs(path):删除空目录,若是上层目录也是空目录,便一起删除
>>> os.removedirs('/root/aaa/bbb') >>> os.removedirs('/root/aaa/') Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python2.6/os.py", line 170, in removedirs rmdir(name) OSError: [Errno 39] Directory not empty: '/root/aaa/'
os.rename(old, new):对文件或目录进行重命名
>>> os.rename('/root/aaa','/root/mmm') >>> os.rename('/root/zhu.txt','/root/tao.txt')
os.rmdir() :删除一个空目录
>>> os.rmdir('/root/mmm') Traceback (most recent call last): File "<stdin>", line 1, in <module> OSError: [Errno 39] Directory not empty: '/root/mmm' >>> os.rmdir('/root/nnn')
os.symlink(source, link_name):创建一个软连接
>>> os.symlink('/root/tao.txt','/root/zhu.txt') >>> os.system('ls -l /root/*.txt') -rwxr-x---. 1 zhu zhu 94 2月 24 19:08 /root/tao.txt lrwxrwxrwx. 1 root root 13 2月 25 03:01 /root/zhu.txt -> /root/tao.txt 0
上一篇: python远程修改配置文件
下一篇: python 通过threading多线
47863
46424
37314
34760
29332
25990
24945
19967
19564
18050
5806°
6433°
5947°
5975°
7080°
5926°
5963°
6456°
6418°
7798°