专栏首页python3Python 之os模块

Python 之os模块

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python之模块介绍

    os.makedirs('dirname1/dirname2')  可生成多层递归目录

    py3study
  • python实现简单爬取图片保存到本地

    py3study
  • 3Python标准库系列之os模块

    py3study
  • 解决Recyclerview列表中使用CheckBox导致下滑时选中状态混乱

      今天用recyclerview时候发现checkbox重复使用会导致OnCheckedChangeListener 出现一个不太友好的问题,问题是这样的:R...

    饮水思源为名
  • 论文阅读:《Neural Machine Translation by Jointly Learning to Align and Translate》

    https://blog.csdn.net/u011239443/article/details/80521026 论文地址:http://pdfs.sem...

    用户1621453
  • Spark常用的算子以及Scala函数总结

    首先,介绍一下scala语言: Scala 是一种把面向对象和函数式编程理念加入到静态类型语言中的混血儿。

    流川枫
  • Spark常用的算子以及Scala函数总结

    上海站 | 高性能计算之GPU CUDA培训 4月13-15日 ? 三天密集式学习 快速带你晋级 阅读全文 > 正文共11264个字,7张图,预计阅读时间28...

    用户1332428
  • Science:论文开放获取“S计划”新政,推倒“付费墙”的时候到了!

    “S计划”是一项由研究资助机构支持,要求对科学文献进行在线免费获取的计划,该计划的目的是为了撼动长期在科学期刊领域占据主导地位的订阅获取制度。现在,一些期刊出版...

    新智元
  • 游戏优化之音频压缩

    其实这个比较容易忽略掉,但是音频资源如果不压缩的话,可能会造成游戏加载速度慢,尤其是对于一些音频资源依赖较高的游戏。

    陨石坠灭
  • ActFramework 入门指南

    这篇文章,将带你体验并展开一个基本的MVC项目。 (Controller,Service,Dao标准结构)

    老码农

扫码关注云+社区

领取腾讯云代金券