在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何用Python來實現文件系統的操作功能

科技綠洲 ? 來源:Python實用寶典 ? 作者:Python實用寶典 ? 2023-10-30 14:27 ? 次閱讀

近幾年隨著Python的熱度不斷上漲,人們漸漸使用這門編程語言來進行一些自動化操作,以節省重復勞動帶來的效率低下,那么必定會涉及到對 文件系統的操作 ,包括文件的增、刪、改、查等等,今天小編就來介紹一下如何用Python來實現這些功能

輸出當前的路徑

我們可以通過Python當中的OS庫來獲取當前文件所在的位置

import os
os.getcwd()

路徑的拼接

我們通過os.path.join()方法來實現

os.path.join('output', 'Book1.xlsx')

output

outputBook1.xlsx

確認某文件夾或者是文件是否存在

我們先來看如何來確認文件夾是否存在,同樣也是通過OS模塊

os.path.exists('directory_name')

同樣的道理,要是我們查看一下某個文件是否存在的時候,可以這么做

os.path.exists('path/file_name')

建立文件夾目錄

然后我們來看一下如何新建一個文件夾

os.mkdir("文件夾名稱")

當然要是文件夾目錄已經提前存在的情況下,上述的代碼自然會報錯,所以我們通常會先檢查一下是否已經存在

if not os.path.exists('文件夾名稱'):
    os.mkdir('文件夾名稱')

當然我們有時候需要在已建的文件夾下創建子文件夾,例如下圖

圖片

這個時候要是引用os.mkdir()方法或許會稍顯繁瑣,這時我們可以通過os.mkdirs()方法來實現

os.makedirs(os.path.join('test_dir', 'level_1', 'level_2', 'level_3'))

羅列出當前目錄下所包含的所有文件

代碼如下

os.listdir('文件夾名稱')

但是有時候我們可能想例如搜尋一下當前目錄下的所有文件中以“py”結尾的文件,我們可以通過通配符來實現,代碼如下

list(glob(os.path.join('.', '*.py')))

上面提到的glob模塊能夠快速查找我們想要的目錄和文件,它支持***?[]這四個通配符

移動文件

要是我們想在不同的目錄文件夾之下移動文件,該怎么操作呢?這里我們介紹Python當中的shutil模塊,假設我們想要將當前目錄下的幾個csv文件移動到“test_dir”目錄文件夾之下,代碼如下

import shutil

for file in list(glob(os.path.join('.', '*.csv'))):
    shutil.move(file, 'test_dir')

復制文件

當我們想要復制文件的時候,也可以使用shutil模塊,例如我們想要將幾個“test_dir”目錄文件夾下的csv文件復制到“output”目錄文件夾之下,代碼如下

shutil.copy(os.path.join('test_dir', 'data.csv'), 'output')

除此之外,我們還能夠對粘貼過去的文件重命名,代碼如下

shutil.copy(os.path.join('test_dir', 'data.csv'),
            os.path.join('output', 'data_2.csv'))

刪除文件

我們來看一下刪除文件該如何實現?os.remove()方法可以完成刪除文件的功能,

os.remove(os.path.join('output', 'data_2.csv'))

當我們想要刪除一整個目錄文件夾的時候,可以使用os.rmdir()方法,當然只僅限于是空的目錄文件夾

os.rmdir(os.path.join('test_dir', 'level_1', 'level_2', 'level_3'))

而對于目錄文件夾下存在文件的,并不是空的目錄文件夾,我們還是需要用到shutil模塊,代碼如下

shutil.rmtree("test_delete")

或者是

shutil.rmtree(os.path.join("test_delete", "test_1_delete"))

創建和解壓壓縮包

談及到操作壓縮包相關的內容,就不得不說zipobj這個模塊了

  • 創建一個壓縮包

這里我們要用到的是zipfile模塊當中的write()方法

file_lists = list(glob(os.path.join('.', '*.xlsx')))

with zipfile.ZipFile(r"我創建的壓縮包.zip", "w") as zipobj:
    for file in file_lists:
        zipobj.write(file)
  • 讀取壓縮包當中的文件信息

通過zipfile模塊當中的namelist()方法來實現

with zipfile.ZipFile("我創建的壓縮包.zip", "r") as zipobj:
    print(zipobj.namelist())

output

['Book1.xlsx', 'supermarkt_sales.xlsx']

可以看到輸出的就是上次我們打包的幾個excel文件

  • 將壓縮包當中的單個文件,解壓出來

通過zipfile模塊當中的extract()方法來實現

dst = "output"

with zipfile.ZipFile("我創建的壓縮包.zip", "r") as zipobj:
    zipobj.extract("Book1.xlsx",dst)

上述代碼的用意就是將壓縮包當中的“Book1.xlsx”文件解壓至“output”目錄文件夾下

  • 將壓縮包中的所有文件,都解壓出來

通過zipfile模塊當中的extractall()方法來實現,代碼如下

dst = "output"

with zipfile.ZipFile("我創建的壓縮包.zip", "r") as zipobj:
    zipobj.extractall(dst)
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 編程語言
    +關注

    關注

    10

    文章

    1945

    瀏覽量

    34776
  • 文件系統
    +關注

    關注

    0

    文章

    285

    瀏覽量

    19918
  • 代碼
    +關注

    關注

    30

    文章

    4791

    瀏覽量

    68694
  • python
    +關注

    關注

    56

    文章

    4797

    瀏覽量

    84756
收藏 人收藏

    評論

    相關推薦

    Linux文件系統簡介

    任何一個操作系統中,文件管理是其基本功能之一,而文件的管理是由文件系統完成的。
    發表于 04-15 11:46 ?2691次閱讀
    Linux<b class='flag-5'>文件系統</b>簡介

    談談什么是文件系統 文件系統功能與特點

    文件系統的應用非常廣泛,同時種類也是特別的多,并且不同平臺也會使用不同性能和特點的文件系統,比如查找效率、數據安全等級等等,如下面windows使用的NTFS:
    發表于 08-30 09:50 ?2979次閱讀
    談談什么是<b class='flag-5'>文件系統</b> <b class='flag-5'>文件系統</b>的<b class='flag-5'>功能</b>與特點

    車載MP3中Flash文件系統的設計與應用

    基于Flash 存儲器的特點,詳細介紹適合于車載MP3 的Flash 文件系統(包括Flash存儲管理系統和FAT 文件系統) 的具體設計。利用Flash 文件系統
    發表于 05-16 13:54 ?11次下載

    基于C51的數據存儲器文件系統設計及實現

    本文介紹了一種基于C51編程的文件系統設計方法和寫文件的算法及過程。采用FAT1 6文件系統的設計思路,實現文件系統的打開、讀寫、刪除等基
    發表于 12-04 16:02 ?26次下載

    文件系統管理操作

    為了方便用戶對設備存儲設備進行有效的管理,設備提供了文件系統功能實現文件和目錄的訪問管理:用戶可以通過命令行對文件進行創建、移動、拷貝、
    發表于 08-30 15:55 ?0次下載

    使用RT-Thread文件系統

    了解了文件系統的一些常用命令之后,下面帶領大家通過運行文件系統的一些示例程序,熟悉文件系統的基本操作。示例程序通過使用一些 DFS 的 A
    的頭像 發表于 11-07 10:40 ?8849次閱讀

    嵌入式Linux常用文件系統

    Linux支持很多文件系統,在選擇時應根據應用的功能選擇文件系統 內核只認識VFS(虛擬文件系統),不同的文件系統
    發表于 05-04 17:19 ?2406次閱讀
    嵌入式Linux常用<b class='flag-5'>文件系統</b>

    linux文件系統中的虛擬文件系統設計詳解

    Linux 中允許眾多不同的文件系統共存,如 ext2, ext3, vfat 等。通過使用同一套文件 I/O 系統 調用即可對 Linux 中的任意文件進行
    發表于 04-02 14:37 ?1825次閱讀
    linux<b class='flag-5'>文件系統</b>中的虛擬<b class='flag-5'>文件系統</b>設計詳解

    Linux文件系統解析

    在 Linux 中,最直觀、最可見的部分就是 文件系統(file system)。下面我們就來一起探討一下關于 Linux 中國的文件系統系統調用以及文件系統
    的頭像 發表于 09-16 11:29 ?2472次閱讀
    Linux<b class='flag-5'>文件系統</b>解析

    文件系統中的日志系統是如何實現

    因為文件系統會涉及對磁盤的多次寫操作,如果在寫的過程中系統崩潰了,就會使得磁盤上的文件系統處于不一致的錯誤狀態。 日志就是設計解決因為
    的頭像 發表于 09-29 11:04 ?2232次閱讀
    <b class='flag-5'>文件系統</b>中的日志<b class='flag-5'>系統</b>是如何<b class='flag-5'>實現</b>的

    xv6的文件系統是如何實現

    文件系統 。本文直接來看 xv6 的文件系統這部分是如何實現的。 文件系統布局 再來系統的看看 xv6
    的頭像 發表于 10-12 18:00 ?2487次閱讀
     xv6的<b class='flag-5'>文件系統</b>是如何<b class='flag-5'>實現</b>的

    何用Python操作Excel文件

    今天小編介紹一下如何用Python操作Excel文件,當中需要用到的模塊叫做openpyxl
    發表于 08-05 11:07 ?1013次閱讀

    Linux的文件系統特點

    ,近期經常被讀取和寫入,文件系統應該有緩存層。 文件應該用文件夾的形式組織起來,方便管理和查詢。 Linux內核要在自己的內存里面維護一套數據結構,保存哪些
    的頭像 發表于 11-09 14:48 ?1207次閱讀
    Linux的<b class='flag-5'>文件系統</b>特點

    如何實現Python復制文件操作

    Python 中有許多“開蓋即食”的模塊(比如 os,subprocess 和 shutil)以支持文件 I/O 操作。在這篇文章中,你將會看到一些用 Python
    的頭像 發表于 07-18 14:53 ?431次閱讀

    如何修改buildroot和debian文件系統

    本文檔主要介紹在沒有編譯環境的情況下,如何修改buildroot和debian文件系統方法,如在buildroot文件系統中添加文件、修改目錄等文件
    的頭像 發表于 07-22 17:46 ?500次閱讀
    如何修改buildroot和debian<b class='flag-5'>文件系統</b>
    主站蜘蛛池模板: 丁香狠狠色婷婷久久综合| 亚洲精品视频在线看| 日本老师xxxxxxxxx79| 四虎日韩| 四虎综合九九色九九综合色| 日韩综合图区| 久久手机免费视频| 成年片免费网址网站| 在线免费国产视频| 手机在线看| 99久久99这里只有免费费精品| 激情五月社区| 性欧美xxxx视频| 日本特黄特色大片免费看| 久久澡人人澡狠狠澡| 国产精品不卡片视频免费观看 | 国产在线视欧美亚综合| 在线看你懂| 色五夜婷婷| 久久奈| 91欧美精品激情在线观看| 日本加勒比黑人| 欧美xxx另类| 国产99热| 日韩卡1卡2卡三卡四卡二卡免| 久久sese| 午夜精品久久久久久99热| 国产三级日本三级日产三级66| 亚洲综合一区二区| 亚洲黄色性视频| 伦理一区二区三区| 亚洲羞羞裸色私人影院| 白浆喷射| 国产午夜免费视频片夜色| xxxx.欧美| 亚洲美女精品| 六月婷婷综合网| 天天综合干| 国产黄网站| 777kkk亚洲综合欧美色老头| 中出丰满大乳中文字幕|