最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python學(xué)習(xí)之os包使用教程詳解

 更新時(shí)間:2022年03月21日 08:29:27   作者:渴望力量的哈士奇  
本文將詳細(xì)介紹python的內(nèi)置包——OS?包。OS?包擁有著普遍的操作系統(tǒng)功能,擁有著各種各樣的函數(shù)來(lái)操作系統(tǒng)的驅(qū)動(dòng)功能。快來(lái)跟隨小編一起學(xué)習(xí)一下OS包的使用方法吧

今天我們來(lái)學(xué)習(xí)一下 python 的內(nèi)置包 —> OS 包。OS 包擁有著普遍的操作系統(tǒng)功能,擁有著各種各樣的函數(shù)來(lái)操作系統(tǒng)的驅(qū)動(dòng)功能。其中最常用的就是對(duì) 路徑 與 文件的操作,比如檢查某個(gè)路徑下是否存在某個(gè)文件,某個(gè)路徑是否存在等。也可以創(chuàng)建、刪除文件等,接下來(lái)我們就詳細(xì)的看一看 OS 中關(guān)于文件的操作功能與用法。

os 模塊

文件與目錄函數(shù)介紹

函數(shù)名參數(shù)介紹舉例 返回值
getcwd沒(méi)有參數(shù)返回當(dāng)前路徑os.getcwd()字符串
listdirpath返回指定路徑下所有的文件或文件夾os.listdir(‘c://windows’)返回一個(gè)列表
makedirpath mode創(chuàng)建多級(jí)文件夾os.makedirs(‘d://pycharm/py’)無(wú)返回值
removedirspath刪除多級(jí)路徑下的文件夾os.removedirs(‘d://pycharm/py’)無(wú)返回值
renameoldname、newname將文件或文件夾重命名os.rename(‘d://pycharm’,‘d://pycharm01’)無(wú)返回值
rmdirpath只能刪除空文件夾os.rmdir(‘d://pycharm’)無(wú)返回值

示例如下:

import os


current_path = os.getcwd()
print(current_path)

new_path = '%s/test01' % current_path
os.makedirs(new_path)

list_dir = os.listdir(current_path)
print(list_dir)

# >>> 執(zhí)行結(jié)果如下:
# >>> /Users/user_name/PycharmProjects/XXXXX/python_package/animal		這是當(dāng)前Mac系統(tǒng)的絕對(duì)路徑,如果是WIN系統(tǒng)會(huì)顯示磁盤符
# >>> ['cat', 'dog', 'test_time.py', '__init__.py', 'test.py', 'package_os.py', 'test01']
# >>> 列出來(lái)當(dāng)前路徑下的所有文件,并創(chuàng)建 'test01' 文件夾成功

這里有個(gè)需要注意的地方,如果當(dāng)前路徑下已經(jīng)存在了要?jiǎng)?chuàng)建的 文件夾或者文件會(huì)出現(xiàn)如下報(bào)錯(cuò)。

上面我們只演示了創(chuàng)建一個(gè)文件夾,如果我們嘗試創(chuàng)建多層級(jí)的文件夾呢?

import os


current_path = os.getcwd()
print(current_path)

new_path = '%s/test01' % current_path
# os.makedirs(new_path)

list_dir = os.listdir(current_path)
print(list_dir)

new_path02 = '%s/test02/test02-01' % current_path   # 嘗試創(chuàng)建多級(jí)文件夾及文件
os.makedirs(new_path02)

注意:如果不指定創(chuàng)建文件夾的路徑,直接利用 os.makedirs('filename') 就可以在當(dāng)前腳本的默認(rèn)路徑下創(chuàng)建該文件夾,這里就不再進(jìn)行演示了。大家可以自己在本地試一下。

上面我們演示了 getcwd()、listdir()、makedir() 三個(gè)函數(shù),接下來(lái)我們演示 removedirs()、rename()、rmdir() 三個(gè)函數(shù)

import os


current_path = os.getcwd()
print(current_path)

new_path = '%s/test01' % current_path
# os.makedirs(new_path)

list_dir = os.listdir(current_path)
print(list_dir)

new_path02 = '%s/test02/test02-01' % current_path   # 嘗試創(chuàng)建多級(jí)文件夾及文件
# os.makedirs(new_path02)
# 之所以要注銷 os.makedir() 是因?yàn)?,我們已?jīng)創(chuàng)建好了 'test01'、'test02/test02-01' ,再次執(zhí)行會(huì)報(bào)錯(cuò)

os.removedirs('test02/test02-01')                   # 刪除 test02 多級(jí)文件夾
os.renames('test.py', 'test_new.py')      # 重命名 test.py 文件夾為 test_new.py
os.rmdir('test01')                        # 刪除空文件夾 test01

# >>> 執(zhí)行效果如下圖

注意:當(dāng)我們使用 os.rmdir() 函數(shù)刪除非空的文件夾時(shí),是會(huì)報(bào)錯(cuò)的。比如我們嘗試刪除 dog 文件夾 就會(huì)報(bào)錯(cuò) OSError: [Errno 66] Directory not empty: 'dog' , 該提示的意思是 : OSERROR - dog 是一個(gè)非空文件夾 。

以上演示的是 OS 包常用的調(diào)用文件的函數(shù),其實(shí)OS操作文件的函數(shù)還有很多 ,大家可以嘗試 使用 dir() 函數(shù)查看并嘗試練習(xí)一下其他函數(shù)的應(yīng)用。

path 模塊

os.path 模塊同樣也是我們?cè)谌粘i_(kāi)發(fā)工作中比較常用的一個(gè)模塊,接下來(lái)我們看看 path 模塊都有哪些較常用的函數(shù)。

?path 模塊常用方法

函數(shù)名參數(shù)介紹舉例 返回值
existspath文件或路徑是否存在os.path.exists(‘d://test/’)bool類型
isdirpath是否是路徑os.path.isdir(‘d://test/’)bool類型
isabspath是否是絕對(duì)路徑os.isabs(‘test’)bool類型
isfilepath是否是文件os.path.isfile(‘d://test.py’)bool類型
joinpath, path*通過(guò)路徑的’//'將其用字符串合并os.path.join(‘d://’,‘test’)字符串
splitpath通過(guò)路徑的’//'以最后一層路徑為及基準(zhǔn)切割成元組os.path.split(‘d://test’)元組

需要注意一點(diǎn):win電腦和 mac電腦的 路徑標(biāo)識(shí)符不一樣。 win系統(tǒng)為 // , mac或者linux系統(tǒng)為 / 。

結(jié)合我們上文 os 包常用的函數(shù)演示案例如下:

import os
import os.path


current_path = os.getcwd()			# 定義 current_path 變量獲取當(dāng)前腳本的絕對(duì)路徑
print(current_path)					# 打印 current_path 變量
print(os.path.isabs(current_path))	# 利用 path 模塊的 isabs 函數(shù)判斷 current_path 是否是絕對(duì)路徑 [返回結(jié)果 True]
print(os.path.isabs('animal'))		# 利用 path 模塊的 isabs 函數(shù)判斷 animal 是否是絕對(duì)路徑 [返回結(jié)果 False , animal 是相對(duì)路徑]


new_path = '%s/test1' % current_path
if os.path.exists(new_path):		# 判斷 new_path 是否存在,如果存在,則刪除 new_path  
    os.makedirs(new_path)

data = os.listdir(current_path)
print(data)

new_path2 = os.path.join(current_path, 'test2', 'test2_01')
print(new_path2)
# 將 'test2'、'test2_01' 與 current_path 拼接在一起,生成一個(gè) 路徑形式 的字符串賦值給new_path2
# >>> 執(zhí)行結(jié)果為 '/Users/XXX/PycharmProjects/python_package/test2/test2_01'


if os.path.exists(new_path2):			# 判斷 new_path2 是否存在,如果不存在,則通過(guò) os包 的 makedirs 函數(shù)創(chuàng)建
    os.makedirs(new_path2)
if os.path.exists('test3'):				# 判斷 'test3' 是否存在,如果不存在,則通過(guò) os包 的 makedirs 函數(shù)創(chuàng)建
    os.makedirs('test3')

if os.path.exists('test2/test2_01'):	# 判斷 'test2/test2_01' 是否存在,如果存在,則刪除 'test2/test2_01'
    os.removedirs('test2/test2_01')
    
if os.path.exists('test3'):				# 判斷 'test3' 是否存在,如果存在,則將 'test3' 重命名為 'test3_new'
    os.rename('test3', 'test3_new')
    
if os.path.exists('test1'):				# 判斷 'test1' 是否存在,如果存在,則刪除 'test1'
    os.rmdir('test1')

current_path = current_path + '/package_os.py'
print(os.path.isfile(current_path))		
# 利用 path模塊 的 isfile函數(shù) 判斷 current_path 是否是一個(gè)文件[返回結(jié)果為 True ]

print(os.path.split(current_path))		
# 利用 path模塊 的 split函數(shù) 將 'package_os.py' 與 路徑分割開(kāi); 實(shí)際工作中經(jīng)常通過(guò)這種方式將帶有文件的路徑進(jìn)行分割
# >>> 執(zhí)行結(jié)果為:('/Users/XXX/PycharmProjects/python_package', 'package_os.py')

print(os.path.isdir(os.path.split(current_path)[0]))
# 利用 path模塊 的 isdir函數(shù) 判斷 current_path 被 split 函數(shù)分割后 第一個(gè)元素是不是路徑 [返回結(jié)果為 True ]

print(dir(os.path))
# 通過(guò) dir()函數(shù) 查看 當(dāng)前 os.path 模塊更多的功能;[可以自己嘗試一下 os.path 更多的功能]

以上就是Python學(xué)習(xí)之os包使用教程詳解的詳細(xì)內(nèi)容,更多關(guān)于Python os包的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python打印酷炫日志的方法詳解

    Python打印酷炫日志的方法詳解

    在Python中,日志是一種非常重要的工具,可以幫助我們更好地了解程序的運(yùn)行情況,本文將介紹如何使用logging模塊來(lái)打印炫酷的日志,需要的可以參考一下
    2023-06-06
  • Django 對(duì)IP訪問(wèn)頻率進(jìn)行限制的例子

    Django 對(duì)IP訪問(wèn)頻率進(jìn)行限制的例子

    今天小編就為大家分享一篇Django 對(duì)IP訪問(wèn)頻率進(jìn)行限制的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • 使用Python制作一個(gè)打字訓(xùn)練小工具

    使用Python制作一個(gè)打字訓(xùn)練小工具

    這篇文章主要介紹了用Python制作一個(gè)打字訓(xùn)練小工具,本文通過(guò)實(shí)例代碼的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-10-10
  • django orm模糊查詢、正則匹配多個(gè)值方式

    django orm模糊查詢、正則匹配多個(gè)值方式

    這篇文章主要介紹了django orm模糊查詢、正則匹配多個(gè)值方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Python基于socket實(shí)現(xiàn)TCP/IP客戶和服務(wù)器通信

    Python基于socket實(shí)現(xiàn)TCP/IP客戶和服務(wù)器通信

    本主要介紹了Python socket網(wǎng)絡(luò)編程TCP/IP服務(wù)器與客戶端通信的相關(guān)資料,這里對(duì)Scoket 進(jìn)行詳解并創(chuàng)建TCP服務(wù)器及TCP 客戶端實(shí)例代碼,需要的朋友可以參考下
    2021-06-06
  • Python super()方法原理詳解

    Python super()方法原理詳解

    這篇文章主要介紹了Python super()方法原理詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • python實(shí)現(xiàn)猜拳小游戲

    python實(shí)現(xiàn)猜拳小游戲

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)猜拳小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Python實(shí)現(xiàn)GIF圖倒放

    Python實(shí)現(xiàn)GIF圖倒放

    這篇文章主要介紹了Python如何實(shí)現(xiàn)GIF圖倒放,文中講解非常細(xì)致,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • python數(shù)據(jù)挖掘Apriori算法實(shí)現(xiàn)關(guān)聯(lián)分析

    python數(shù)據(jù)挖掘Apriori算法實(shí)現(xiàn)關(guān)聯(lián)分析

    這篇文章主要為大家介紹了python數(shù)據(jù)挖掘Apriori算法實(shí)現(xiàn)關(guān)聯(lián)分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • python3+PyQt5圖形項(xiàng)的自定義和交互 python3實(shí)現(xiàn)page Designer應(yīng)用程序

    python3+PyQt5圖形項(xiàng)的自定義和交互 python3實(shí)現(xiàn)page Designer應(yīng)用程序

    這篇文章主要為大家詳細(xì)介紹了python3+PyQt5圖形項(xiàng)的自定義和交互,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04

最新評(píng)論

江津市| 永嘉县| 黑山县| 西宁市| 江口县| 阿拉尔市| 扎鲁特旗| 丽水市| 广元市| 合作市| 临高县| 霍城县| 彭山县| 南靖县| 清流县| 抚州市| 伊吾县| 华坪县| 邵阳市| 昌邑市| 肇东市| 方山县| 郯城县| 盱眙县| 崇信县| 惠来县| 平潭县| 博罗县| 大田县| 古丈县| 瓦房店市| 南雄市| 长宁区| 湖北省| 灯塔市| 余江县| 神池县| 信阳市| 临潭县| 留坝县| 云和县|