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

Python os.path 模塊常見(jiàn)用法:路徑拼接、目錄操作與批量文件處理

 更新時(shí)間:2026年05月19日 09:46:22   作者:AZ-直到世界的盡頭  
os.path 模塊提供了跨平臺(tái)處理路徑的基礎(chǔ)功能,本文通過(guò)實(shí)例說(shuō)明其核心用法,包括路徑拼接、目錄創(chuàng)建、文件批量復(fù)制與重命名等,感興趣的朋友一起看看吧

在日常 Python 開(kāi)發(fā)中,文件和目錄操作非常頻繁。os.path 模塊提供了跨平臺(tái)處理路徑的基礎(chǔ)功能。本文通過(guò)實(shí)例說(shuō)明其核心用法,包括路徑拼接、目錄創(chuàng)建、文件批量復(fù)制與重命名等。

一、路徑拼接:os.path.join()

語(yǔ)法:

os.path.join(path1[, path2[, ...]])

返回值:多個(gè)路徑拼接后的字符串。

注意:第一個(gè)絕對(duì)路徑之前的參數(shù)會(huì)被忽略。

示例:

import os
# 全部相對(duì)路徑
print(os.path.join('/hello/', 'good/boy/', 'doiido'))
# 輸出:/hello/good/boy/doiido
# 中間出現(xiàn)絕對(duì)路徑
print(os.path.join('/hello/', '/good/boy/', 'doiido'))
# 輸出:/good/boy/doiido   (/hello/ 被忽略)

這一特性在拼接用戶(hù)輸入或配置路徑時(shí)需要留意。

二、分離文件名和路徑

使用 os.path.basenameos.path.dirname

url = 'https://images0.cnblogs.com/i/311516/201403/020013141657112.png'
filename = os.path.basename(url)   # '020013141657112.png'
filepath = os.path.dirname(url)    # 'https://images0.cnblogs.com/i/311516/201403'

使用 os.path.split 同時(shí)獲得兩者:

parts = os.path.split('/home/user/data/file.txt')
# ('/home/user/data', 'file.txt')

三、安全創(chuàng)建目錄

先判斷目錄是否存在,再創(chuàng)建(支持多級(jí)目錄):

def mkdir(path):
    if not os.path.exists(path):
        os.makedirs(path)
        print("--- create new folder %s ---" % path)
    else:
        print("--- already have this folder! ---")

四、創(chuàng)建空文件并自動(dòng)創(chuàng)建父目錄

結(jié)合 mkdiros.path.split

def create_empty_file(path):
    dir, file = os.path.split(path)
    mkdir(dir)
    open(path, "w").close()

五、批量復(fù)制特定類(lèi)型文件

遞歸遍歷源目錄,將指定擴(kuò)展名的文件復(fù)制到目標(biāo)目錄:

import shutil
def cp_rawdata_snp_2_plate_snp_path(path, new_path):
    for root, dirs, files in os.walk(path):
        for file in files:
            if file[-3:].lower() in ('jpg', 'png'):
                src = os.path.join(root, file)
                dst = os.path.join(new_path, file)
                shutil.copy(src, dst)

六、批量重命名文件

根據(jù)映射字典修改文件名:

def rename_gtc_barcode():
    barcode_map = {"2012333_r1l2": "111-1214-1232"}
    gtc_path = config["dir.gtc_dir_path"]
    for i in os.listdir(gtc_path):
        if not i.endswith(".gtc"):
            continue
        oldname = os.path.join(gtc_path, i)
        newname = os.path.join(gtc_path, barcode_map[i.replace(".gtc", "")] + ".vcf")
        os.rename(oldname, newname)
        print(oldname, '======>', newname)

七、獲取當(dāng)前目錄、上級(jí)目錄等

import os
# 當(dāng)前目錄
print(os.getcwd())
print(os.path.abspath(os.path.dirname(__file__)))
# 上級(jí)目錄
print(os.path.abspath(os.path.dirname(os.getcwd())))
print(os.path.abspath(os.path.join(os.getcwd(), "..")))
# 上上級(jí)目錄
print(os.path.abspath(os.path.join(os.getcwd(), "../..")))

八、常用 os.path 方法速查

方法說(shuō)明
os.path.abspath(path)返回絕對(duì)路徑
os.path.basename(path)返回文件名
os.path.dirname(path)返回目錄路徑
os.path.exists(path)路徑是否存在
os.path.isfile(path)是否為文件
os.path.isdir(path)是否為目錄
os.path.getsize(path)文件大小(字節(jié))
os.path.splitext(path)分離文件名與擴(kuò)展名

九、注意事項(xiàng)

  1. 路徑分隔符:Windows 為 \,Linux/macOS 為 /,應(yīng)始終使用 os.path.join 拼接。
  2. 相對(duì)/絕對(duì)路徑:不確定時(shí)先用 os.path.abspath 轉(zhuǎn)換。
  3. 操作前檢查:刪除或修改文件前建議用 os.path.exists 判斷。

以上是 os.path 模塊在實(shí)際開(kāi)發(fā)中的常見(jiàn)用法。掌握這些函數(shù)可以有效簡(jiǎn)化文件系統(tǒng)相關(guān)的代碼,并提高跨平臺(tái)兼容性。

到此這篇關(guān)于Python os.path 模塊常見(jiàn)用法:路徑拼接、目錄操作與批量文件處理的文章就介紹到這了,更多相關(guān)Python os.path 模塊用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用Python手搓一個(gè)生產(chǎn)級(jí)限流器

    使用Python手搓一個(gè)生產(chǎn)級(jí)限流器

    這篇文章主要為大家詳細(xì)介紹了三種生產(chǎn)級(jí)限流算法的Python實(shí)現(xiàn),即令牌桶,漏桶和滑動(dòng)窗口,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下
    2026-02-02
  • 利用Python如何畫(huà)一顆心、小人發(fā)射愛(ài)心

    利用Python如何畫(huà)一顆心、小人發(fā)射愛(ài)心

    這篇文章主要給大家介紹了關(guān)于利用Python如何畫(huà)一顆心、小人發(fā)射愛(ài)心的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 詳解用 python-docx 創(chuàng)建浮動(dòng)圖片

    詳解用 python-docx 創(chuàng)建浮動(dòng)圖片

    這篇文章主要介紹了詳解用 python-docx 創(chuàng)建浮動(dòng)圖片,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Python跨文件全局變量的實(shí)現(xiàn)方法示例

    Python跨文件全局變量的實(shí)現(xiàn)方法示例

    我們?cè)谑褂肞ython編寫(xiě)應(yīng)用的時(shí)候,有時(shí)候會(huì)遇到多個(gè)文件之間傳遞同一個(gè)全局變量的情況。所以下面這篇文章主要給大家介紹了關(guān)于Python跨文件全局變量的實(shí)現(xiàn)方法,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-12-12
  • 解析Python 偏函數(shù)用法全方位實(shí)現(xiàn)

    解析Python 偏函數(shù)用法全方位實(shí)現(xiàn)

    這篇文章主要介紹了解析Python 偏函數(shù)用法全方位實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Windows下用py2exe將Python程序打包成exe程序的教程

    Windows下用py2exe將Python程序打包成exe程序的教程

    這篇文章主要介紹了Windows下用py2exe將Python程序打包成exe程序的教程,文中主要針對(duì)Python3.x版本進(jìn)行說(shuō)明,需要的朋友可以參考下
    2015-04-04
  • Python Numpy中ndarray的常見(jiàn)操作

    Python Numpy中ndarray的常見(jiàn)操作

    這篇文章主要介紹了Python Numpy中ndarray的常見(jiàn)操作,NumPy是Python的一種開(kāi)源的數(shù)值計(jì)算擴(kuò)展,更多詳細(xì)內(nèi)容需要的朋友可以參考一下
    2022-07-07
  • python實(shí)現(xiàn)楊輝三角思路

    python實(shí)現(xiàn)楊輝三角思路

    本文給大家分享的是作者使用python實(shí)現(xiàn)楊輝三角的思路,非常的實(shí)用,有需要的小伙伴可以參考下
    2017-07-07
  • Python之父談Python的未來(lái)形式

    Python之父談Python的未來(lái)形式

    這篇文章主要介紹了Python之父談Python的未來(lái),需要的朋友可以參考下
    2016-07-07
  • Numpy之random.randint產(chǎn)生隨機(jī)整數(shù)方式

    Numpy之random.randint產(chǎn)生隨機(jī)整數(shù)方式

    這篇文章主要介紹了Numpy之random.randint產(chǎn)生隨機(jī)整數(shù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12

最新評(píng)論

长汀县| 新乡县| 兰考县| 资溪县| 固始县| 关岭| 仙游县| 车致| 固始县| 莱阳市| 赤城县| 微山县| 通州市| 黄陵县| 平遥县| 昌江| 铜陵市| 澄江县| 紫阳县| 宁德市| 色达县| 大石桥市| 阳春市| 西和县| 庆元县| 武功县| 永康市| 平利县| 台安县| 文山县| 台北市| 阿坝县| 固始县| 龙门县| 龙海市| 含山县| 从江县| 余江县| 安庆市| 眉山市| 彝良县|