python的os模块(一)

2023-12-15 08:57:12

os?模块提供了非常丰富的方法用来处理文件和目录。常用的方法如下表所示:

一.os.getcwd

相当于shell的

pwd,查看当前目录

[root@rhel8 day06]# vim demo01.py 
import os
print(os.getcwd()) #查看当前目录

[root@rhel8 day06]# python3 demo01.py 
/root/mypython/day06

?二.os.listdir查看当前目录

相当于ls -A

[root@rhel8 day06]# vim demo01.py 
import os
print(os.listdir("/root"))  #查看root目录有哪些文件

[root@rhel8 day06]# python3 demo01.py 
['.bash_logout', '.bash_profile', '.bashrc', '.cshrc', '.tcshrc', 'anaconda-ks.cfg', '.cache', '.dbus', '.config', 'initial-setup-ks.cfg', '.esd_auth', '.ICEauthority', '.local', '桌面', '下载', '模板', '公共', '文档', '音乐', '图片', '视频', '.pki', '.bash_history',hon_history', 'day01', '.ssh', '.Xauthority', 'bin', 'pycharm1', '.java', 'mypython', 'java_error_in_PYCHARM_2630.log', '.viminfo']

三.os.mkdir创建目录

相当于mkdir

[root@rhel8 day06]# ls /tmp/demo
ls: 无法访问'/tmp/demo': 没有那个文件或目录
[root@rhel8 day06]# vim demo01.py 
import os
os.mkdir("/tmp/demo")
[root@rhel8 day06]# python3 demo01.py 
[root@rhel8 day06]# ls /tmp/demo

?四.os.makedirs递归创建目录

相当于mkdir -p

[root@rhel8 day06]# ls /tmp/test  #/tmp/test目录不存在
ls: 无法访问'/tmp/test': 没有那个文件或目录
[root@rhel8 day06]# vim demo01.py 
import os
os.makedirs("/tmp/test/abc") #创建/tmp/test/abc目录
[root@rhel8 day06]# python3 demo01.py 
[root@rhel8 day06]# ls /tmp/test/abc/

五.os.chdir切换目录

相当于cd

[root@rhel8 day06]# vim demo01.py 
import os
print(os.getcwd())  #输出所在目录
os.chdir("/tmp/demo") #切换目录
print(os.getcwd()) #输出所在目录
[root@rhel8 day06]# python3 demo01.py 
/root/mypython/day06
/tmp/demo

六.删除文件os.remove

[root@rhel8 day06]# touch /tmp/demo/a.txt
[root@rhel8 day06]# ls /tmp/demo/
a.txt
[root@rhel8 day06]# vim demo01.py
import os
os.remove("/tmp/demo/a.txt") #删除a.txt文件
[root@rhel8 day06]# ls /tmp/demo/
#尝试使用remove删除demo目录
[root@rhel8 day06]# vim demo01.py
import os
os.remove("/tmp/demo")
[root@rhel8 day06]# python3 demo01.py 
Traceback (most recent call last):
  File "demo01.py", line 2, in <module>
    os.remove("/tmp/demo")
IsADirectoryError: [Errno 21] Is a directory: '/tmp/demo'
#os.remove() 方法用于删除指定路径的文件。如果指定的路径是一个目录,将抛出Error。
要想删除目录,需要使用shutil.rmtree
[root@rhel8 day06]# vim demo01.py
import os,shutil
shutil.rmtree("/tmp/demo")
[root@rhel8 day06]# python3 demo01.py 
[root@rhel8 day06]# ls /tmp/demo
ls: 无法访问'/tmp/demo': 没有那个文件或目录

七.os.symlink软链接

相当于ln -s

[root@rhel8 day06]# vim demo01.py 
import os,shutil
os.symlink("/etc/passwd","mima")
[root@rhel8 day06]# ll
总用量 4
-rw-r--r-- 1 root root 49 12月 11 22:44 demo01.py
lrwxrwxrwx 1 root root 11 12月 11 22:44 mima -> /etc/passwd

?八.os.unlink取消软链接

[root@rhel8 day06]# vim demo01.py 
import os,shutil
os.unlink("mima")
[root@rhel8 day06]# python3 demo01.py

文章来源:https://blog.csdn.net/weixin_65562581/article/details/134937577
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。