日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python os模块安装_二十七、深入浅出Python中的 os模块

發布時間:2025/3/20 python 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python os模块安装_二十七、深入浅出Python中的 os模块 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

「@Author: Runsen」

當初學Python的時候,把一些標準庫和第三方開源庫學的七零八落,不成系統,正好趁這個機會來系統的整理一下,先從Python常用的標準庫os開始吧。

os

OS模塊簡單的來說它是一個Python的系統編程的操作模塊,可以處理文件和目錄這些我們日常手動需要做的 操作。 可以查看OS模塊的幫助文檔。

import?os?#導入os模塊??help(os)???#查看os模塊幫助文檔,里面詳細的模塊相關函數和使用方法

獲取當前系統

首先我們需要先導入os模塊:直接打印os.name。

import?osprint(os.name)#若是Windows則輸出'nt',若是Linux/Unix,則是'posix'

獲取當前文件的絕對路徑

#?獲取當前文件的絕對路徑?桌面上的demo.pyabsolute_file_path?=?os.path.abspath(__file__)print(absolute_file_path)打印結果:C:甥敳獲YIUYEDesktopdemo.py

獲取當前目錄

函數os.getcwd():功能:獲取當前目錄,python的工作目錄。

cwd?=?os.getcwd()print(cwd打印結果:C:甥敳獲YIUYEDesktop

判斷文件是否存在,返回值為布爾型

import?osfile_path?=?r"C:甥敳獲YIUYEDesktopdemo.py"has_file?=?os.path.exists(file_path)print("file?path:?[{}]?is?exist:?{}".format(file_path,?has_file))file?path:?[C:甥敳獲YIUYEDesktopdemo.py]?is?exist:?True

獲取文件的名稱

import?os#?獲取文件的名稱file_name?=?os.path.basename(__file__)print(file_name)打印結果:demo.py

文件重命名

old_file?=?r"C:甥敳獲YIUYEDesktopdemo.py"#?或者old_file?=?"C:/Users/YIUYE/Desktop/demo.py"??前面沒有rnew_file?=?r"C:甥敳獲YIUYEDesktopdemo1.py"#?重命名文件os.rename(old_file,?new_file)

注意點:Unix使用斜桿/ 作為路徑分隔符,而web應用最新使用在Unix系統上面,所以目前所有的網絡地址都采用 斜桿/作為分隔符。

Windows由于使用 斜桿/ 作為DOS命令提示符的參數標志了,為了不混淆,所以采用 反斜杠 作為路徑分隔符。所以目前windows系統上的文件瀏覽器都是用 反斜杠 作為路徑分隔符。

隨著發展,DOS系統已經被淘汰了,命令提示符也用的很少,很多時候斜桿和反斜杠在大多數情況下可以互換,沒有影響。

記住:

  • 瀏覽器地址欄網址使用 斜桿/ ;
  • windows文件瀏覽器上使用 反斜杠 ;
  • 出現在html url() 屬性中的路徑,指定的路徑是網絡路徑,所以必須用 斜桿/ ;

出現在普通字符串中的路徑,如果代表的是windows文件路徑,則使用 反斜杠 需要在前面加r;如果代表的是網絡文件路徑,則必須使用 斜桿/。

具體報錯和指示如下圖。

如果是Mac沒有反斜杠,和Linux一樣都是只有斜桿/

創建文件夾

os.makedirs創建多級目錄

#?路徑中的多個文件夾都不存在時,可以遞歸創建,code和code1文件夾本身沒有forders_path?=?r"C:甥敳獲YIUYEDesktopcodecode1"os.makedirs(forders_path)

os.path.mkdir:只能創建一個文件夾, code文件夾存在,才能創建code1文件夾,如果code文件夾不存在,則會出錯。

forder_path?=?r"C:甥敳獲YIUYEDesktopcodecode1"os.mkdir(forder_path)

獲取文件夾下的所有文件名

forder_path?=?r"D:學習資料"#?獲取文件夾code下的所有文件名,以列表的形式返回file_names?=?os.listdir(forder_path)print(file_names)

獲取文件夾下的所有文件夾和文件(無遞歸遍歷)

print(os.scandir(r"D:學習資料"))打印結果:

返回的是可迭代對象,我們用for循環迭代一下遍出結果,這里進行判斷,尋找文件,而不是文件夾

for?f?in?os.scandir(r"D:學習資料"):???if?not?f.is_file():?#is_file判斷是否是文件???????print('yes',f)???else:???????print('no:',?f)

將path分割成路徑名和文件名

os.path.split函數返回一個路徑的目錄名和文件名

print(os.path.split(r"C:甥敳獲YIUYEDesktopdemo.py"))print(os.path.split(r"C:甥敳獲YIUYEDesktopdemo.py")[0])print(os.path.split(r"C:甥敳獲YIUYEDesktopdemo.py")[1])打印結果:('C:甥敳獲YIUYEDesktop',?'demo.py')C:甥敳獲YIUYEDesktopdemo.py

拼接目錄與文件名或目錄

os.path.join函數拼接目錄與文件名或目錄

print(os.path.join('I',?'am',?'Runsen'))打印結果:IamRunsen

練習

「創建一個函數,獲取文件夾下包含子文件夾的所有文件路徑,并且存入list輸出?」

最簡單的方法使用os.walk

os.walk()用類似于深度遍歷的方式遍歷文件夾中的子文件夾以及文件。

import?osdef?get_Listfiles(path):????Filelist?=?[]????#?os.walk()用類似于深度遍歷的方式遍歷文件夾中的子文件夾以及文件。????#?最基本的顯示方式為(root_path,[file_dirs],[files]),????for?home,?dirs,?files?in?os.walk(path):????????for?file?in?files:????????????Filelist.append(os.path.join(home,?file))????????????#Filelist.append(file)????return?Filelistprint(get_Listfiles(r"D:Python"))

具體運行結果如下圖。

?

本文已收錄 GitHub,傳送門~[1] ,里面更有大廠面試完整考點,歡迎 Star。

?

Reference

[1]

傳送門~: https://github.com/MaoliRUNsen/runsenlearnpy100

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的python os模块安装_二十七、深入浅出Python中的 os模块的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。