国产日韩欧美一区二区三区综合,日本黄色免费在线,国产精品麻豆欧美日韩ww,色综合狠狠操

極客小將

您現在的位置是:首頁 » python編程資訊

資訊內容

Python詳解os模塊和shutil模塊

極客小將2021-03-04-
簡介文章目錄文件的處理獲取系統類型獲取系統環境執行系統命令操作目錄與文件文件和目錄高級處理復制文件移動文件讀取壓縮及歸檔壓縮文件解壓文件小結(相關免費學習推薦:python視頻教程)os模塊和shutil模塊是Python處理文件/目錄的主要方式。os模塊提供了一種使用操作系統相關功能的便捷方式,shu
5es少兒編程網-https://www.pxcodes.com

文章目錄5es少兒編程網-https://www.pxcodes.com

文件的處理獲取系統類型獲取系統環境執行系統命令操作目錄與文件文件和目錄高級處理復制文件移動文件讀取壓縮及歸檔壓縮文件解壓文件小結

(相關免費學習推薦:python視頻教程)5es少兒編程網-https://www.pxcodes.com

os模塊和shutil模塊是Python處理文件/目錄的主要方式。os模塊提供了一種使用操作系統相關功能的便捷方式,shutil模塊是一種高級的文件/目錄操作工具。5es少兒編程網-https://www.pxcodes.com

文件的處理5es少兒編程網-https://www.pxcodes.com

os模塊提供了一些便捷功能來使用操作系統資源,比如讀取資源目錄下的文件、在命令行查看某路徑下文件的所有內容等。5es少兒編程網-https://www.pxcodes.com

獲取系統類型5es少兒編程網-https://www.pxcodes.com

對代碼進行兼容性開發以適應不同操作系統時通過操作系統類型進行判斷就可以輕松解決。5es少兒編程網-https://www.pxcodes.com

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

5es少兒編程網-https://www.pxcodes.com

獲取系統環境5es少兒編程網-https://www.pxcodes.com

對環境變量進行相關設置時,常常會調用模塊environ模塊。os.environ是以字典的形式返回系統環境變量,要獲取具體的屬性值,可以用索引,也可以用方法getenv():5es少兒編程網-https://www.pxcodes.com

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

5es少兒編程網-https://www.pxcodes.com

執行系統命令5es少兒編程網-https://www.pxcodes.com

使用os模塊system()方法可以執行shell命令,正常執行會返回0。使用格式是os.system("bash command")。5es少兒編程網-https://www.pxcodes.com

在非控制臺編寫時,system()只會調用系統命令而不會執行,執行結果可通過popen()函數返回file對象進行讀取獲得。5es少兒編程網-https://www.pxcodes.com

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

5es少兒編程網-https://www.pxcodes.com

操作目錄與文件5es少兒編程網-https://www.pxcodes.com

使用os模塊操作目錄和文件時Python開發**為常見的功能之一。5es少兒編程網-https://www.pxcodes.com

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

(插播反爬信息 )博主CSDN地址:https://wzlodq.blog.csdn.net/5es少兒編程網-https://www.pxcodes.com

文件和目錄高級處理5es少兒編程網-https://www.pxcodes.com

相比os模塊,shutil模塊用于文件和目錄的高級處理,提供了支持文件賦值、移動、刪除、壓縮和解壓等功能。5es少兒編程網-https://www.pxcodes.com

復制文件5es少兒編程網-https://www.pxcodes.com

shutil模塊的主要作用是賦值文件,大概有以下七種實現:5es少兒編程網-https://www.pxcodes.com

shutil.copyfileobj(file1,file2)覆蓋復制
將file1的內容覆蓋file2,file1、file2表示打開的文件對象。5es少兒編程網-https://www.pxcodes.com

shutil.copyfile(file1,file2)覆蓋復制
也是覆蓋,但是無須打開文件,直接用文件名進行覆蓋(其源碼還是調用的copyfileobj)。5es少兒編程網-https://www.pxcodes.com

shutil.copymode(file1,file2)權限復制
僅復制文件權限,不更改文件內容、組和用戶,無返回對象。5es少兒編程網-https://www.pxcodes.com

shutil.copystart(file1,file2)狀態復制
復制文件的所有狀態信息,包括權限、組、用戶和時間等,無返回對象。5es少兒編程網-https://www.pxcodes.com

shutil.copy(file1,file2)內容和權限復制
復制文件的內容和權限,相當于先執行了copyfile再執行了copysmode。5es少兒編程網-https://www.pxcodes.com

shutil.copy2(file1,file2)內容和權限復制
復制文件的內容及所有狀態信息,相當于先執行了copyfile再執行了copystart。5es少兒編程網-https://www.pxcodes.com

shutil.copytree()遞歸復制
遞歸地復制文件內容及狀態信息5es少兒編程網-https://www.pxcodes.com

移動文件5es少兒編程網-https://www.pxcodes.com

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

5es少兒編程網-https://www.pxcodes.com

讀取壓縮及歸檔壓縮文件5es少兒編程網-https://www.pxcodes.com

使用函數shutil.make_archive()創建歸檔文件,并返回歸檔后的名稱。
語法如下:
shutil.make_archive(base_name,format[,root_dir[,base_dir[,verbose[,dry_run[,owner[,group[,logger]]]]]]])5es少兒編程網-https://www.pxcodes.com

base_name為需要創建的文件名,包括路徑format表示壓縮格式,可選zip、tar或bztar等root_dir為歸檔的目錄import shutil path_1 = r'D:PycharmProjectsHello'path_2 = r'D:PycharmProjectsHelloshutil-test'new_path = shutil.make_archive(path_2,'zip',path_1)print(new_path)

5es少兒編程網-https://www.pxcodes.com

解壓文件5es少兒編程網-https://www.pxcodes.com

使用函數shutil.unpack_archive(filename[,extract_dir[,format]])分析拆檔。5es少兒編程網-https://www.pxcodes.com

filename是歸檔的完整路徑extract_dir是解壓歸檔的目標目錄名稱format是解壓文件的格式import shutilimport os shutil.unpack_archive('D:PycharmProjectsHelloshutil-test.zip','D:\testdir')print(os.listdir('D:\testdir'))

5es少兒編程網-https://www.pxcodes.com

小結5es少兒編程網-https://www.pxcodes.com

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

Python系列博客持續更新中5es少兒編程網-https://www.pxcodes.com

大量免費學習推薦,敬請訪問python教程(視頻)5es少兒編程網-https://www.pxcodes.com

以上就是Python詳解os模塊和shutil模塊的詳細內容,更多請關注少兒編程網其它相關文章!5es少兒編程網-https://www.pxcodes.com

預約試聽課

已有385人預約都是免費的,你也試試吧...

主站蜘蛛池模板: 清新县| 罗田县| 乌鲁木齐市| 远安县| 霍州市| 纳雍县| 泰来县| 象山县| 扎鲁特旗| 嵊州市| 若羌县| 义马市| 昌图县| 太白县| 民县| 宁南县| 镇平县| 平安县| 山东| 泸州市| 马关县| 安新县| 根河市| 农安县| 江津市| 湾仔区| 山阴县| 凉山| 保亭| 开阳县| 牡丹江市| 丹凤县| 新田县| 图片| 乐平市| 个旧市| 怀来县| 陆河县| 瓮安县| 静海县| 疏附县|