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