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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python根须系统斜杠_深入浅出Python中的os模块

發(fā)布時(shí)間:2023/12/13 python 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python根须系统斜杠_深入浅出Python中的os模块 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

「@Author:Runsen」

當(dāng)初學(xué)Python的時(shí)候,把一些標(biāo)準(zhǔn)庫(kù)和第三方開(kāi)源庫(kù)學(xué)的七零八落,不成系統(tǒng),正好趁這個(gè)機(jī)會(huì)來(lái)系統(tǒng)的整理一下,先從Python常用的標(biāo)準(zhǔn)庫(kù)os開(kāi)始吧。

os

OS模塊簡(jiǎn)單的來(lái)說(shuō)它是一個(gè)Python的系統(tǒng)編程的操作模塊,可以處理文件和目錄這些我們?nèi)粘J謩?dòng)需要做的 操作。可以查看OS模塊的幫助文檔。

import?os?#導(dǎo)入os模塊??
help(os)???#查看os模塊幫助文檔,里面詳細(xì)的模塊相關(guān)函數(shù)和使用方法

獲取當(dāng)前系統(tǒng)

首先我們需要先導(dǎo)入os模塊:直接打印os.name。

import?os
print(os.name)

#若是Windows則輸出'nt',若是Linux/Unix,則是'posix'

獲取當(dāng)前文件的絕對(duì)路徑

#?獲取當(dāng)前文件的絕對(duì)路徑?桌面上的demo.py
absolute_file_path?=?os.path.abspath(__file__)
print(absolute_file_path)

打印結(jié)果:C:\Users\YIUYE\Desktop\demo.py

獲取當(dāng)前目錄

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

cwd?=?os.getcwd()
print(cwd

打印結(jié)果:C:\Users\YIUYE\Desktop

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

import?os
file_path?=?r"C:\Users\YIUYE\Desktop\demo.py"
has_file?=?os.path.exists(file_path)
print("file?path:?[{}]?is?exist:?{}".format(file_path,?has_file))

file?path:?[C:\Users\YIUYE\Desktop\demo.py]?is?exist:?True

獲取文件的名稱

import?os
#?獲取文件的名稱
file_name?=?os.path.basename(__file__)
print(file_name)

打印結(jié)果:demo.py

文件重命名


old_file?=?r"C:\Users\YIUYE\Desktop\demo.py"
#?或者old_file?=?"C:/Users/YIUYE/Desktop/demo.py"??前面沒(méi)有r
new_file?=?r"C:\Users\YIUYE\Desktop\demo1.py"
#?重命名文件
os.rename(old_file,?new_file)

注意點(diǎn):Unix使用斜桿/ 作為路徑分隔符,而web應(yīng)用最新使用在Unix系統(tǒng)上面,所以目前所有的網(wǎng)絡(luò)地址都采用 斜桿/作為分隔符。

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

隨著發(fā)展,DOS系統(tǒng)已經(jīng)被淘汰了,命令提示符也用的很少,很多時(shí)候斜桿和反斜杠在大多數(shù)情況下可以互換,沒(méi)有影響。

記住:

  • 瀏覽器地址欄網(wǎng)址使用 斜桿/ ;

  • windows文件瀏覽器上使用 反斜杠\ ;

  • 出現(xiàn)在html url() 屬性中的路徑,指定的路徑是網(wǎng)絡(luò)路徑,所以必須用 斜桿/ ;

出現(xiàn)在普通字符串中的路徑,如果代表的是windows文件路徑,則使用 反斜杠\ 需要在前面加r;如果代表的是網(wǎng)絡(luò)文件路徑,則必須使用 斜桿/。

具體報(bào)錯(cuò)和指示如下圖。

如果是Mac沒(méi)有反斜杠\,和Linux一樣都是只有斜桿/

創(chuàng)建文件夾

os.makedirs創(chuàng)建多級(jí)目錄

#?路徑中的多個(gè)文件夾都不存在時(shí),可以遞歸創(chuàng)建,code和code1文件夾本身沒(méi)有
forders_path?=?r"C:\Users\YIUYE\Desktop\code\code1"
os.makedirs(forders_path)

os.path.mkdir:只能創(chuàng)建一個(gè)文件夾, code文件夾存在,才能創(chuàng)建code1文件夾,如果code文件夾不存在,則會(huì)出錯(cuò)。

forder_path?=?r"C:\Users\YIUYE\Desktop\code\code1"
os.mkdir(forder_path)

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

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

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

print(os.scandir(r"D:\學(xué)習(xí)資料"))

打印結(jié)果:

返回的是可迭代對(duì)象,我們用for循環(huán)迭代一下遍出結(jié)果,這里進(jìn)行判斷,尋找文件,而不是文件夾

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

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

os.path.split函數(shù)返回一個(gè)路徑的目錄名和文件名

print(os.path.split(r"C:\Users\YIUYE\Desktop\demo.py"))
print(os.path.split(r"C:\Users\YIUYE\Desktop\demo.py")[0])
print(os.path.split(r"C:\Users\YIUYE\Desktop\demo.py")[1])


打印結(jié)果:('C:\\Users\\YIUYE\\Desktop',?'demo.py')
C:\Users\YIUYE\Desktop
demo.py

拼接目錄與文件名或目錄

os.path.join函數(shù)拼接目錄與文件名或目錄

print(os.path.join('I',?'am',?'Runsen'))

打印結(jié)果:I\am\Runsen

練習(xí)

「創(chuàng)建一個(gè)函數(shù),獲取文件夾下包含子文件夾的所有文件路徑,并且存入list輸出?」

最簡(jiǎn)單的方法使用os.walk

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

import?os
def?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?Filelist
print(get_Listfiles(r"D:\Python"))

具體運(yùn)行結(jié)果如下圖。

掃描二維碼

獲取更多精彩

往期推薦

Python僅用3行代碼就能輸出花式字符串圖集,同事直呼666!

Python讀寫yaml排版混亂還丟失注釋?我來(lái)告訴你解決辦法!

關(guān)于Python的前后、單雙下劃線作用,看完這篇文章,吊打面試官!

驚爆:當(dāng)Python代碼遇到zip解壓炸彈,未做防護(hù)的你后悔莫及!

Pycharm IDEA破解 漢化 插件 帶你一文打盡!

總結(jié)

以上是生活随笔為你收集整理的python根须系统斜杠_深入浅出Python中的os模块的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。