溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python如何實現文件夾操作

發布時間:2022-05-27 11:39:50 來源:億速云 閱讀:232 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“Python如何實現文件夾操作”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Python如何實現文件夾操作”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

一、文件操作

1.1 文件常規操作

操作代碼說明/示例
新建文件os.mknod(dir_str)傳入需創建文件的路徑,但是需要修改權限才行
os.system(' touch test.txt')使用命令行創建,簡單方便
移動文件shutil.move(src_str,dst_str)傳入源路徑和目標路徑,可移動文件及文件夾,移動文件夾時是遞歸移動,返回相較于工作目錄的相對最終路徑
復制文件shutil.copyfile(src_str,dst_str)傳入源文件和需復制到路徑,均需是文件,返回相較于工作目錄的相對最終路徑
shutil.copy(src_str,dst_str)傳入源文件和需復制到路徑,dst如果是文件則復制+重命名,如果是目錄,則直接復制,但均不復制文件元信息
shutil.copy2(src_str,dst_str)相較于copy,會將文件元信息也復制,包括創建、修改時間等
重命名os.rename(old_str,new_str)對文件或文件夾重命名
刪除文件os.remove(file_str)刪除指定文件,可以傳入相較于工作目錄的相對路徑

1.2 文件讀寫

文件讀寫建議使用Python的標準file操作,具體本文不作展開

with open(filename_str,mode_str) as f:
    f.readline()
    f.write(content)

1.3 文件相關屬性訪問

操作代碼說明/示例
獲取文件或文件夾屬性os.stat(dir_str)

獲取文件或文件夾相關屬性

可返回文件的模式、所屬用戶ID、大小、上次訪問時間、最后修改時間、創建時間等信息

具體見: Python os.stat() 方法 | 菜鳥教程

二、文件夾操作

2.1 文件夾常規操作

操作代碼說明/示例
新建文件夾os.mkdir(dir_str)創建單個文件夾,如果文件夾已存在會報錯
os.mkdirs(dir_str)遞歸創建文件夾,即可一次性創建多層文件夾

from pathlib import Path

p=Path(dir_str)

p.mkdir(exist_ok=True)

使用pathlib,可以創建單個或遞歸創建文件夾,且如果存在也可忽略報錯
移動文件夾shutil.move(src_str,dst_str)可移動文件或文件夾
復制文件夾shutil.copytree(src_str,dst_str)遞歸的將指定文件夾復制到目標文件夾內,一般用作備份文件夾
刪除文件夾os.rmdir(dir_str)刪除指定文件夾,只能刪除單層文件夾,且不為空
os.removedirs(dir_str)遞歸刪除指定文件夾,但只會刪除非空文件夾

from pathlib import Path

p=Path(dir_str)

p.rmdir()

與os.rmdir作用相同
shutil.rmtree(dir_str)遞歸刪除指定文件夾及子文件夾,不為空也行,相對比較危險

2.2 遍歷文件夾

操作代碼說明/示例
單層遍歷os.listdir(dir_str)返回列表,列表內為該文件夾內的所有文件及文件夾名稱
os.scandir(dir_str)返回對指定文件單層遍歷的迭代器,可遍歷該迭代器,可獲取文件或文件夾名稱、屬性信息
遞歸遍歷os.walk(dir_str)遞歸遍歷指定文件夾,包括子文件夾
import os
dir_str='~/downloads/'
 
#使用listdir
dir_list=listdir(dir_str)
for file in dir_list:
    if os.path.isfile(os.path.join(os.getcwd(),file):
        print('是一個文件')
 
 
#使用scandir
for file in os.scandir(dir_str):
    print(file.name) #打印文件名稱
    print(file.stat) #打印文件屬性
#使用os.walk()遞歸遍歷
#walk函數會返回當前遍歷文件夾根目錄,該目錄下所有文件夾組成的列表以及該目錄下所有文件組成的列表
dir_str='~/downloads/'
dir_iter=os.walk(dir_str)
 
for root_dir,dirs,files in dir_iter:
    for file in files:
        print(file)

三、其他相關操作

3.1 工作目錄操作

操作代碼說明/示例
查詢當前工作目錄os.getcwd()返回當前的工作目錄,即當前執行命令時所在工作目錄
修改當前工作目錄os.chdir(dir_str)修改當前工作目錄,只是臨時修改

3.2 文件&文件夾其他操作

操作代碼說明/示例
壓縮文件/文件夾shutil.make_archive(file_str,format,src_dir)將src_dir按照format指定的格式壓縮為file_str文件
解壓壓縮文件shutil.unpack_archive(filename, extract_dir=None, format=None)將filename解壓到extract_dir
變更權限

os.chmod(dir_str,mode_int)

os.chmod('aa.txt',777)

將dir_str的權限模式修改為mode_int
import shutil
shutil.make_archive('aaa','zip','/users/aaa/downloads/常用腳本')
#以上會將常用腳本文件夾內所有內容壓縮為aaa.zip,并存到當前工作目錄下
#如果同時希望指定壓縮文件的存儲位置,則
shutil.make_archive('/users/aaa/test/aaa.zip','zip','/users/aaa/downloads/常用腳本')
import shutil
shutil.unpack_archive('aaa.zip','/users/yanweichao/downloads/bbb')
#或想當前文件內的aaa.zip文件解壓到bbb文件夾內,如果bbb文件夾不存在,會自動創建

讀到這里,這篇“Python如何實現文件夾操作”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女