日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Python的os包與os.path模塊的用法詳情_python

作者:Mar丶流年 ? 更新時間: 2022-05-02 編程語言

一、os常用方法

1.獲取當前路徑 os.getcwd()

# coding:utf-8
import os
if __name__ == '__main__':
? ? print(os.getcwd()) ?# G:\workSpace\py_d

2.獲取指定路徑下有哪些文件和目錄,os.listdir(path)返回一個list

# coding:utf-8

import os

if __name__ == '__main__':
? ? print(os.listdir(os.getcwd())) ?# ['.idea', 'main.py', 'os_module.py', 'sk']

3.創建目錄(一級) os.mkdir(paht)

os.mkdir(path) 創建目錄:

?以下兩種情況會報錯:

  • ?2.要創建目錄的上級目錄不存在(a不存在,則不能創建b目錄)
  • ?3.要創建的目錄已存在(b存在,則不能創建b目錄)
# coding:utf-8

import os

if __name__ == '__main__':

? ? os.mkdir('sk/a/b') ?# 在當前sk/a 目錄中創建b目錄
? ? # os.mkdir(os.path.join(os.getcwd(), 'sk', 'a', 'b')) 和上面的一樣,只不過換成了絕對路徑

4.刪除文件 os.remove(path)

# coding:utf-8

import os

if __name__ == '__main__':

? ? """
? ? os.remove(path)
? ? 要求path是文件且存在
? ? """
? ? os.remove("sk/a/b/503.py")
? ? # os.remove(os.path.join(os.getcwd(), 'sk', 'a', 'b', '503.py')) 和上面的一樣,只不過路徑換成絕對路徑了

5.遞歸刪除空目錄 os.removedirs(path)

# coding:utf-8

import os

if __name__ == '__main__':

? ? """
? ? os.removedirs(path)
? ? 如果最底層目錄不是空目錄直接報錯(s2不是空目錄則報錯)
? ? 從最第底層目錄開始刪,一直刪到最上層目錄(先刪s2,再刪s1),當要刪除的目錄不是空目錄時停止(s1不是空目錄則停止)
? ? """
? ? os.removedirs('s1/s2')
? ? # os.removedirs(os.path.join(os.getcwd(), 's1', 's2')) 和上面的一樣,只不過使用了絕對路徑

6.刪除空目錄 os.rmdir(path)

# coding:utf-8

import os

if __name__ == '__main__':

? ? """
? ? ? os.rmdir(path)
? ? ? path不存在且不是空目錄則報錯
? ? """
? ? os.rmdir('s1/s2')

7.創建多級目錄 os.makedirs(path)

# coding:utf-8

import os

if __name__ == '__main__':

? ? """
? ? os.makedirs(path,exists_ok=False) 創建多級目錄
? ? 如果path目錄已存在則報錯,可以設置exist_ok 參數來抑制錯誤,exist_ok不等于False就不會拋出異常
? ? """
? ? os.makedirs("s1/s3")
? ? os.makedirs("s1/s3", exist_ok=True)

二、os.path 常用方法

1.路徑拼接 os.path.join(path1,path2…)

# coding:utf-8

import os

if __name__ == '__main__':

? ? """
? ? os.path.join(path1,path2......)
? ? 將多個路徑拼接形成新的路徑
? ? """
? ? print(os.path.join(os.getcwd(), 's1', 's2')) ?# G:\workSpace\py_d\s1\s2

2.路徑分離 os.path.split(path) 返回tuple

# coding:utf-8

import os

if __name__ == '__main__':

? ? """
? ? os.path.split(path) 分割路徑,返回一個tuple,由兩個元素構成
? ? 第2個元素是path中最后一層的目錄或者文件
? ? 第1個元素是path中除去第二個元素后剩余的路徑,可以為空字符串
? ? """
? ? path = os.path.join(os.getcwd(), 's1', 's2')
? ? print(path) ?# G:\workSpace\py_d\s1\s2.my
? ? print(os.path.split(path)) ?# ('G:\\workSpace\\py_d\\s1', 's2.my')
? ? print(os.path.split('dir1')) ?# ('', 'dir1')

3.判斷是否是目錄 os.path.isdir(path)

# coding:utf-8

import os

if __name__ == '__main__':

? ? """
? ? os.path.is_dir(path) 判斷路徑是不是目錄,當路徑不存在也返回False
? ? """
? ? print(os.path.isdir(os.getcwd())) ?# True
? ? print(os.path.isdir(os.path.join(os.getcwd(), 'main.py'))) ?# False 這是文件
? ? print(os.path.isdir('http://xxx.com')) ?# 不存在也返回False

4.判斷是否是文件 os.path.isfile(paht)

# coding:utf-8

import os

if __name__ == '__main__':

? ? """
? ? os.path.is_file(path) 判斷路徑是不是文件,當路徑不存在也返回False
? ? """

? ? print(os.path.isfile(os.getcwd())) ?# False 這是目錄
? ? print(os.path.isfile(os.path.join(os.getcwd(), 'main.py'))) ?# True 是文件
? ? print(os.path.isfile(os.path.join(os.getcwd(), 'abc'))) ?# False 不存在也返回False

5.判斷路徑是否存在 os.path.exists(path)

# coding:utf-8

import os

if __name__ == '__main__':

? ? """
? ? os.path.exists(path) 判斷路徑是不是文件,當路徑不存在也返回False
? ? """

? ? print(os.path.exists(os.path.join(os.getcwd(), 'main.py'))) ?# True main.py存在
? ? print(os.path.exists(os.path.join(os.getcwd(), 'abc.py'))) ?# False abc.py 不存在

6.判斷路徑是不是絕對路徑 os.path.isabs(path)

# coding:utf-8

import os

if __name__ == '__main__':

? ? """
? ? os.path.abs(path) 判斷路徑是不是絕對路徑,與存不存在無關
? ? """
? ? print(os.getcwd()) ?# G:\workSpace\py_d
? ? print(os.path.isabs(os.path.join(os.getcwd(), 'main.py'))) ?# True main.py存在
? ? print(os.path.isabs(os.path.join(os.getcwd(), 'abc.py'))) ? # True abc.py不存在
? ? print(os.path.isabs('a/b/c')) ?# False

原文鏈接:https://blog.csdn.net/qq_29744347/article/details/123082824?

欄目分類
最近更新