91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

Python中os模塊和shutil模塊的示例分析

發布時間:2021-03-03 11:42:46 來源:億速云 閱讀:213 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關Python中os模塊和shutil模塊的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

python可以做什么

Python是一種編程語言,內置了許多有效的工具,Python幾乎無所不能,該語言通俗易懂、容易入門、功能強大,在許多領域中都有廣泛的應用,例如最熱門的大數據分析,人工智能,Web開發等。

os模塊和shutil模塊是Python處理文件/目錄的主要方式。os模塊提供了一種使用操作系統相關功能的便捷方式,shutil模塊是一種高級的文件/目錄操作工具。

文件的處理

os模塊提供了一些便捷功能來使用操作系統資源,比如讀取資源目錄下的文件、在命令行查看某路徑下文件的所有內容等。

獲取系統類型


對代碼進行兼容性開發以適應不同操作系統時通過操作系統類型進行判斷就可以輕松解決。

import osimport sysprint(os.name)  # 返回nt代表Windows,posix代表Linuxprint(sys.platform)  # 更詳細信息

Python中os模塊和shutil模塊的示例分析

獲取系統環境


對環境變量進行相關設置時,常常會調用模塊environ模塊。os.environ是以字典的形式返回系統環境變量,要獲取具體的屬性值,可以用索引,也可以用方法getenv()

import osprint(os.environ)print(os.environ['PATH'])print(os.getenv('PATH'))

Python中os模塊和shutil模塊的示例分析

執行系統命令


使用os模塊system()方法可以執行shell命令,正常執行會返回0。使用格式是os.system("bash command")

在非控制臺編寫時,system()只會調用系統命令而不會執行,執行結果可通過popen()函數返回file對象進行讀取獲得。

import os
os.system('ping www.baidu.com')os.popen('ping www.baidu.com').read()

Python中os模塊和shutil模塊的示例分析

操作目錄與文件


使用os模塊操作目錄和文件時Python開發最為常見的功能之一。

方法說明示例
os.getcwd()獲取當前目錄路徑Python中os模塊和shutil模塊的示例分析
os.chdir('目標路徑')更改當前腳本目錄Python中os模塊和shutil模塊的示例分析
os.listdir(path)列舉目錄下所有文件Python中os模塊和shutil模塊的示例分析
os.mkdir(path)創建單個目錄Python中os模塊和shutil模塊的示例分析
os.makedirs(path)創建多級目錄
os.rmdir(path)刪除單級空目錄
os.removedirs(path)刪除多級目錄
os.rename("文件或目錄名",”目標名“)重命名目錄或文件Python中os模塊和shutil模塊的示例分析
os.path.abspath()獲取絕對路徑Python中os模塊和shutil模塊的示例分析
os.path.split(path)將路徑分解為(文件夾,文件名)
若路徑字符串最后一個字符是\,則只有文件夾部分有值;
若路徑字符串中均無\,則只有文件名部分有值;
若路徑字符串有\且不再最后,則文件夾文件名都有值。
Python中os模塊和shutil模塊的示例分析
os.path.join(path2,path3)將路徑組合
os.path.dirname(path)獲取path中的文件夾部分Python中os模塊和shutil模塊的示例分析
os.path.basename(path)獲取path中的文件名
os.path.exists(path)判斷文件或文件夾是否存在Python中os模塊和shutil模塊的示例分析
os.path.isfile(path)判斷路徑是否是一個文件Python中os模塊和shutil模塊的示例分析
os.path.isdir(path)判斷路徑是否為一個目錄Python中os模塊和shutil模塊的示例分析
os.path.getsize(path)獲取文件或文件夾大小Python中os模塊和shutil模塊的示例分析
os.path.getctime(path)獲取文件或文件夾創建時間Python中os模塊和shutil模塊的示例分析
os.path.getatime(path)獲取文件或文件夾最后訪問時間Python中os模塊和shutil模塊的示例分析
os.path.getmtime(path)獲取文件或文件夾最后修改時間Python中os模塊和shutil模塊的示例分析
os.sep()路徑分割符Python中os模塊和shutil模塊的示例分析
os.extsep()文件名和后綴之間的分割符
os.pathsep()路徑分隔符
os.linesep()換行符號

(插播反爬信息 )博主CSDN地址:https://wzlodq.blog.csdn.net/

文件和目錄高級處理

相比os模塊,shutil模塊用于文件和目錄的高級處理,提供了支持文件賦值、移動、刪除、壓縮和解壓等功能。

復制文件


shutil模塊的主要作用是賦值文件,大概有以下七種實現:

  1. shutil.copyfileobj(file1,file2)覆蓋復制
    將file1的內容覆蓋file2,file1、file2表示打開的文件對象。

  2. shutil.copyfile(file1,file2)覆蓋復制
    也是覆蓋,但是無須打開文件,直接用文件名進行覆蓋(其源碼還是調用的copyfileobj)。

  3. shutil.copymode(file1,file2)權限復制
    僅復制文件權限,不更改文件內容、組和用戶,無返回對象。

  4. shutil.copystart(file1,file2)狀態復制
    復制文件的所有狀態信息,包括權限、組、用戶和時間等,無返回對象。

  5. shutil.copy(file1,file2)內容和權限復制
    復制文件的內容和權限,相當于先執行了copyfile再執行了copysmode。

  6. shutil.copy2(file1,file2)內容和權限復制
    復制文件的內容及所有狀態信息,相當于先執行了copyfile再執行了copystart。

  7. shutil.copytree()遞歸復制
    遞歸地復制文件內容及狀態信息

移動文件


使用函數shutil.move()函數可以遞歸地移動文件或重命名,并返回目標,若目標是現有目錄則src再當前目錄移動;若目標已經存在且不是目錄,則可能會被覆蓋。
Python中os模塊和shutil模塊的示例分析
Python中os模塊和shutil模塊的示例分析

讀取壓縮及歸檔壓縮文件


使用函數shutil.make_archive()創建歸檔文件,并返回歸檔后的名稱。
語法如下:
shutil.make_archive(base_name,format[,root_dir[,base_dir[,verbose[,dry_run[,owner[,group[,logger]]]]]]])

  • base_name為需要創建的文件名,包括路徑

  • format表示壓縮格式,可選zip、tar或bztar等

  • root_dir為歸檔的目錄

import shutil
path_1 = r'D:\PycharmProjects\Hello'path_2 = r'D:\PycharmProjects\Hello\shutil-test'new_path = shutil.make_archive(path_2,'zip',path_1)print(new_path)

Python中os模塊和shutil模塊的示例分析

解壓文件


使用函數shutil.unpack_archive(filename[,extract_dir[,format]])分析拆檔。

  • filename是歸檔的完整路徑

  • extract_dir是解壓歸檔的目標目錄名稱

  • format是解壓文件的格式

import shutilimport os
shutil.unpack_archive('D:\PycharmProjects\Hello\shutil-test.zip','D:\\testdir')print(os.listdir('D:\\testdir'))

Python中os模塊和shutil模塊的示例分析

小結


需要注意的是不同的操作系統中,路徑分隔符不一樣,在文件處理時需要考慮。也可以使用os.sep()來替代文件分隔符,因為操作系統而造成的程序異常。此外處理文件時往往需要注意文件權限,還有注意文件和文件夾的區別,使用遞歸等。

關于“Python中os模塊和shutil模塊的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

遂川县| 会泽县| 中超| 冀州市| 慈溪市| 丹凤县| 平潭县| 孙吴县| 民权县| 宾阳县| 上饶市| 莱阳市| 宁河县| 德江县| 林甸县| 贺州市| 大安市| 昆明市| 南投县| 松阳县| 丰都县| 康乐县| 鸡东县| 涟水县| 东宁县| 太原市| 徐汇区| 阿拉善左旗| 确山县| 乐陵市| 蛟河市| 望奎县| 彰化市| 澄迈县| 全州县| 定陶县| 武川县| 凤庆县| 平果县| 铁岭市| 衡南县|