Python之os模塊淺談

日期:2020年3月19日
作者:Commas
註釋:學習就是爲了忘記,來個os模塊
如果您想了解更多有關Python的知識,那麼請點《我的Python淺談系列目錄》



一、os模塊

(1)什麼是os模塊

os模塊是一個提供多數操作系統功能的接口函數的模塊,os是Operating System(操作系統)的縮寫。如果您需要處理文件和目錄,並且希望程序能夠與平臺無關的話,那麼os模塊是您的不二選擇。

(2)os模塊的屬性

屬性 說明 windows Linux
os.name 查詢當前使用平臺 nt posix
s.sep 輸出操作系統特定的路徑分隔符 \ /
os.pathsep 輸出用於分割文件路徑的字符串 ; :
os.linesep 輸出當前平臺使用的行終止符 \r\n \n
import os

print(os.name)
print(os.sep)
print(os.pathsep)
print(os.linesep)

# =======控制檯輸出結果=======
nt
\
;


(3)os模塊的方法

1)os(增刪查改)

(i)增

當前我使用test.py文件,效果如下圖所示:
在這裏插入圖片描述

  1. 生成單級目錄(文件夾):相當於shell中mkdir dirname。
s.mkdir('mkdir_dirname')
  1. 生成多級目錄(文件夾)
os.makedirs('makedirs_dirname1/dirname1')
os.makedirs('makedirs_dirname1/dirname2')

(ii)刪

  1. 刪除一個文件(不是文件夾)
os.remove('mkdir_dirname/1.txt')
os.makedirs('makedirs_dirname1/dirname2/11.csv')
  1. 刪除單級空目錄
    相當於shell中rmdir dirname,若目錄不爲空,則無法刪除並拋出異常。
    如下所示,僅僅刪除dirname2。
os.rmdir('makedirs_dirname1/dirname2')
  1. 刪除多級目錄
    若目錄爲空,則刪除,並遞歸到上一級目錄;
    如若也爲空,則刪除,依此類推。
    如下所示,刪除dirname1,同時也刪除了makedirs_dirname1。
os.removedirs('makedirs_dirname1/dirname1')

(iii)查

  1. 獲取當前工作目錄,即當前python腳本工作的目錄路徑
print(os.getcwd())

# =======控制檯輸出結果=======
D:\Python\AutoTicket
  1. 列出指定目錄下的所有文件和子目錄,包括隱藏文件,並以列表方式打印
print(os.listdir('dirname'))
print(type(os.listdir('dirname')))

# =======控制檯輸出結果=======
['dirname1', 'dirname2']
<class 'list'>
  1. 獲取文件/目錄信息
print(os.stat('makedirs_dirname1'))

# =======控制檯輸出結果=======
os.stat_result(st_mode=16895, st_ino=8444249301350987, st_dev=847926590, st_nlink=1, st_uid=0, st_gid=0, st_size=0, st_atime=1584596384, st_mtime=1584596384, st_ctime=1584596384)

(iv)改

# 重命名文件/目錄
os.rename("makedirs_dirname1", "makedirs_dirname2")

2)os.path(查詢判斷)

(i)os.path之查詢操作

import os
# (1)返回絕對路徑
print(os.path.abspath('makedirs_dirname1/dirname1'))
# (2)返回path分割成目錄和文件名的二元數組
print(os.path.split('makedirs_dirname1/dirname1'))
# (3)返回path分割成目錄和文件名的二元數組中的目錄
print(os.path.dirname('makedirs_dirname1/dirname1'))
# (4)返回path分割成目錄和文件名的二元數組中的文件名
print(os.path.basename('makedirs_dirname1/dirname1'))

# (5)獲取多個路徑的組合,即拼接路徑
print(os.path.join('makedirs_dirname1', 'dirname1'))
# (6)獲取最後的訪問時間(時間戳)
print(os.path.getatime('makedirs_dirname1/dirname1'))
# (7)獲取最後的修改時間(時間戳)
print(os.path.getmtime('makedirs_dirname1/dirname1'))
# (8)獲取文件的大小()
print(os.path.getsize('makedirs_dirname1/dirname1'))

# =======控制檯輸出結果=======
D:\Python\makedirs_dirname1\dirname1
('makedirs_dirname1', 'dirname1')
makedirs_dirname1
dirname1
makedirs_dirname1\dirname1
1584596384.2306225
1584596384.2306225
0

(ii)os.path之判斷操作

# (1)判斷文件或文件夾是否存在
print(os.path.exists('makedirs_dirname1/1.txt'))

# (2)判斷是否是絕對路徑
print(os.path.isabs('dirname1/dirname/1.txt')) 

# (3)判斷是否是一個文件
print(os.path.isfile('dirname1/dirname/1.txt'))  

# (4)判斷是否是一個目錄
print(os.path.isdir('dirname1/dirname/1.txt'))  

版權聲明:本文爲博主原創文章,如需轉載,請給出:
原文鏈接:https://blog.csdn.net/qq_35844043/article/details/104965074

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章