欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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ì)顯示磁盤(pán)符
# >>> ['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)
# 之所以要注銷(xiāo) 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類(lèi)型
isdirpath是否是路徑os.path.isdir(‘d://test/’)bool類(lèi)型
isabspath是否是絕對(duì)路徑os.isabs(‘test’)bool類(lèi)型
isfilepath是否是文件os.path.isfile(‘d://test.py’)bool類(lèi)型
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)文章

  • pandas dataframe添加表格框線輸出的方法

    pandas dataframe添加表格框線輸出的方法

    今天小編就為大家分享一篇pandas dataframe添加表格框線輸出的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02
  • python 實(shí)現(xiàn)簡(jiǎn)易的記事本

    python 實(shí)現(xiàn)簡(jiǎn)易的記事本

    這篇文章主要介紹了python 實(shí)現(xiàn)簡(jiǎn)易的記事本的示例代碼,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-11-11
  • flask解析海康攝像頭視頻的使用

    flask解析海康攝像頭視頻的使用

    本文主要介紹了flask解析??禂z像頭視頻的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • python 2.7.13 安裝配置方法圖文教程

    python 2.7.13 安裝配置方法圖文教程

    這篇文章主要為大家詳細(xì)介紹了python 2.7.13 安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • Python 讀寫(xiě)文件的操作代碼

    Python 讀寫(xiě)文件的操作代碼

    本文通過(guò)實(shí)例代碼給大家介紹了Python 讀寫(xiě)文件的操作方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-09-09
  • 用Python實(shí)現(xiàn)QQ游戲大家來(lái)找茬輔助工具

    用Python實(shí)現(xiàn)QQ游戲大家來(lái)找茬輔助工具

    這是一個(gè)用于QQ大家來(lái)找茬(美女找茬)的輔助外掛,開(kāi)發(fā)的原因是看到老爸天天在玩這個(gè)游戲,分?jǐn)?shù)是慘不忍睹的負(fù)4000多。本來(lái)是想寫(xiě)個(gè)很簡(jiǎn)單的東西,但由于過(guò)程中老爸的多次嘲諷,逼得我不得不盡力完善,最后形成了一個(gè)小小的產(chǎn)品。
    2014-09-09
  • python使用循環(huán)打印所有三位數(shù)水仙花數(shù)的實(shí)例

    python使用循環(huán)打印所有三位數(shù)水仙花數(shù)的實(shí)例

    今天小編就為大家分享一篇python使用循環(huán)打印所有三位數(shù)水仙花數(shù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • Python3使用TCP編寫(xiě)一個(gè)簡(jiǎn)易的文件下載器功能

    Python3使用TCP編寫(xiě)一個(gè)簡(jiǎn)易的文件下載器功能

    這篇文章主要介紹了Python3使用TCP編寫(xiě)一個(gè)簡(jiǎn)易的文件下載器功能,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-05-05
  • 分享python?寫(xiě)?csv?文件的兩種方法

    分享python?寫(xiě)?csv?文件的兩種方法

    這篇文章主要向大家分享的是python?寫(xiě)?csv?文件的兩種方法,具體要怎么將內(nèi)容寫(xiě)入csv文件呢?下面文章我們將使用csv和pandas的方法實(shí)現(xiàn),下文詳細(xì)實(shí)現(xiàn)介紹需要的小伙伴可以參考一下
    2022-04-04
  • django配置app中的靜態(tài)文件步驟

    django配置app中的靜態(tài)文件步驟

    這篇文章主要介紹了django配置app中的靜態(tài)文件步驟,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03

最新評(píng)論