初識(shí)Python文件操作篇(下)

      網(wǎng)友投稿 1350 2022-05-30

      在Python程序中,file對(duì)象只能對(duì)某個(gè)文件進(jìn)行操作,但是我們?cè)趯?shí)際運(yùn)用中,有的時(shí)候需要對(duì)文件夾的某個(gè)目錄進(jìn)行操作,這個(gè)時(shí)候我們就需要使用OS對(duì)象來(lái)進(jìn)行操作。

      OS 對(duì)象介紹

      #這里列舉在os模塊中關(guān)于文件/目錄常用的函數(shù)使用方法

      #這里需要注意下,在使用這些方法前記得導(dǎo)入os模塊

      import os #導(dǎo)入os模塊

      “”"

      os對(duì)象方法:

      os.getcwd() #返回當(dāng)前工作目錄

      os.chdir(path) #改變工作目錄

      os.listdir(path=".") #列舉指定目錄中的文件名("."表示當(dāng)前目錄,“…”表示上一級(jí)目錄)

      os.mkdir(path) #創(chuàng)建建單層目錄,如果該目錄已存在則拋出異常

      os.makedirs(path) #遞歸創(chuàng)建多層目錄,如該目錄已存在拋出異常,

      os.remove(path) #刪除文件

      os.rmdir(path) #刪除單層目錄,如該目錄非空則拋出異常

      os.removedirs(path) #遞歸刪除目錄,從子目錄到父目錄逐層嘗試刪除,遇到目錄非空則拋出異常

      os.rename(old,new) #將文件old重命名為new

      os.system(command) #運(yùn)行系統(tǒng)shell命令

      os.walk(top) #遍歷top路徑以下所有子目錄,返回一個(gè)三元組:(路徑,[包含目錄](méi),[包含文件])

      os.curdir #屬性,表示當(dāng)前目錄

      os.pardir #屬性,表示上一級(jí)目錄

      os.sep #屬性,輸出操作系統(tǒng)特定的路徑分隔符(win下為’\’,Linux下為’/’)

      os.linesep #屬性,當(dāng)前平臺(tái)使用的行終止符(Win下為‘\r\n’,Linux下為’\n’)

      os.name #屬性,指待當(dāng)前使用的操作系統(tǒng)

      os.path對(duì)象方法:

      os.path.basename(path) #去掉目錄路徑,單獨(dú)返回文件名

      os.path.dirname(path) #去掉文件名,單獨(dú)返回目錄路徑

      os.path.join(path1[,],path2[,…]) #將path1,path2各部分組成一個(gè)路徑名

      os.path.split(path) #分割文件名和路徑,返回一個(gè)(f_path,f_name)元組,如果完全使用目錄,它也會(huì)將最后一個(gè)目錄作為文件名分離

      os.path.splitext(path) #分離文件名和后綴名,返回(f_name,f_extension)元組,如果完全使用目錄,它也會(huì)將最后一個(gè)目錄作為文件名分離

      os.path.getsize(file) #返回指定文件的尺寸,單位是字節(jié)

      os.path.getatime(file) #返回指定文件最近的訪問(wèn)時(shí)間(浮點(diǎn)型秒數(shù),可用time模塊的gmtime()或localtime()函數(shù)換算)

      os.path.getctime(file) #返回指定文件的創(chuàng)建時(shí)間

      os.path.getmtime(file) #返回指定文件最新的修改時(shí)間

      os.path.exists(path) #判斷指定路徑是否存在(目錄或者文件)

      os.path.isabs(path) #判斷是否為絕對(duì)路徑

      os.path.isdir(path) #判斷指定路徑是否存在且是一個(gè)目錄

      os.path.isfile(path) #判斷指定路徑是否存在且是一個(gè)文件

      os.path.islink(path) #判斷指定路徑是否存在且是一個(gè)符號(hào)鏈接

      os.path.ismount(path) #判斷指定路徑是否存在且是一個(gè)掛載點(diǎn)

      os.path.samefile(path1,path2) #判斷path1,path2是否指向同一個(gè)文件

      “”"

      這是我們?cè)诓僮魑募臅r(shí)候一些常見(jiàn)的方法,沒(méi)有必要都去記住,我們可以在需要的時(shí)候進(jìn)行查閱。詳情介紹…

      # -*- coding: utf-8 -*- '''access()''' '''python 程序中,該函數(shù)的功能是檢驗(yàn)對(duì)當(dāng)前文件的操作權(quán)限模式 格式:OS.access(文件名,mode),其中mode參數(shù)有以下四種模式 mode -- mode為F_OK,測(cè)試存在的路徑,或者它可以是包含R_OK, W_OK和X_OK或者R_OK, W_OK和X_OK其中之一或者更多。 os.F_OK: 作為access()的mode參數(shù),測(cè)試path是否存在。 os.R_OK: 包含在access()的mode參數(shù)中 , 測(cè)試path是否可讀。 os.W_OK 包含在access()的mode參數(shù)中 , 測(cè)試path是否可寫(xiě)。 os.X_OK 包含在access()的mode參數(shù)中 ,測(cè)試path是否可執(zhí)行。 返回TRUE和false '''

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      import os,sys ret=os.access("王小王.txt",os.F_OK) read=os.access("王小王.txt",os.R_OK) writer=os.access("王小王.txt",os.W_OK) zhi=os.access("王小王.txt",os.X_OK) print("該文件是否存在:",ret) print("該文件是否可讀:",read) print("該文件是否可寫(xiě):",writer) print("該文件是否可執(zhí)行:",zhi)

      1

      2

      3

      4

      5

      6

      7

      8

      9

      '''chdir()''' ''' os.chdir() 方法用于改變當(dāng)前工作目錄到指定的路徑。os.chdir(path) '''

      1

      2

      3

      4

      '''chmod()''' ''' os.chmod() 方法用于更改文件或目錄的權(quán)限。os.chmod(path, mode) path -- 文件名路徑或目錄路徑。 flags -- 可用以下選項(xiàng)按位或操作生成, 目錄的讀權(quán)限表示可以獲取目錄里文件名列表, , 執(zhí)行權(quán)限表示可以把工作目錄切換到此目錄 ,刪除添加目錄里的文件必須同時(shí)有寫(xiě)和執(zhí)行權(quán)限 , 文件權(quán)限以用戶(hù)id->組id->其它順序檢驗(yàn),最先匹配的允許或禁止權(quán)限被應(yīng)用。 stat.S_IXOTH: 其他用戶(hù)有執(zhí)行權(quán)0o001 stat.S_IWOTH: 其他用戶(hù)有寫(xiě)權(quán)限0o002 stat.S_IROTH: 其他用戶(hù)有讀權(quán)限0o004 stat.S_IRWXO: 其他用戶(hù)有全部權(quán)限(權(quán)限掩碼)0o007 stat.S_IXGRP: 組用戶(hù)有執(zhí)行權(quán)限0o010 stat.S_IWGRP: 組用戶(hù)有寫(xiě)權(quán)限0o020 stat.S_IRGRP: 組用戶(hù)有讀權(quán)限0o040 stat.S_IRWXG: 組用戶(hù)有全部權(quán)限(權(quán)限掩碼)0o070 stat.S_IXUSR: 擁有者具有執(zhí)行權(quán)限0o100 stat.S_IWUSR: 擁有者具有寫(xiě)權(quán)限0o200 stat.S_IRUSR: 擁有者具有讀權(quán)限0o400 stat.S_IRWXU: 擁有者有全部權(quán)限(權(quán)限掩碼)0o700 stat.S_ISVTX: 目錄里文件目錄只有擁有者才可刪除更改0o1000 stat.S_ISGID: 執(zhí)行此文件其進(jìn)程有效組為文件所在組0o2000 stat.S_ISUID: 執(zhí)行此文件其進(jìn)程有效用戶(hù)為文件所有者0o4000 stat.S_IREAD: windows下設(shè)為只讀 stat.S_IWRITE: windows下取消只讀 '''

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      21

      22

      23

      24

      25

      26

      '''open()''' ''' os.open() 方法用于打開(kāi)一個(gè)文件,并且設(shè)置需要的打開(kāi)選項(xiàng),模式參數(shù)mode參數(shù)是可選的,默認(rèn)為 0777。 os.open(file, flags[, mode]); file -- 要打開(kāi)的文件 flags -- 該參數(shù)可以是以下選項(xiàng),多個(gè)使用 "|" 隔開(kāi): os.O_RDONLY: 以只讀的方式打開(kāi) os.O_WRONLY: 以只寫(xiě)的方式打開(kāi) os.O_RDWR : 以讀寫(xiě)的方式打開(kāi) os.O_NONBLOCK: 打開(kāi)時(shí)不阻塞 os.O_APPEND: 以追加的方式打開(kāi) os.O_CREAT: 創(chuàng)建并打開(kāi)一個(gè)新文件 os.O_TRUNC: 打開(kāi)一個(gè)文件并截?cái)嗨拈L(zhǎng)度為零(必須有寫(xiě)權(quán)限) os.O_EXCL: 如果指定的文件存在,返回錯(cuò)誤 os.O_SHLOCK: 自動(dòng)獲取共享鎖 os.O_EXLOCK: 自動(dòng)獲取獨(dú)立鎖 os.O_DIRECT: 消除或減少緩存效果 os.O_FSYNC : 同步寫(xiě)入 os.O_NOFOLLOW: 不追蹤軟鏈接 mode -- 類(lèi)似 chmod()。 '''

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      21

      22

      23

      24

      25

      26

      27

      創(chuàng)建目錄

      '''mkdir()''' ''' os.mkdir() 方法用于以數(shù)字權(quán)限模式創(chuàng)建目錄。默認(rèn)的模式為 0777 (八進(jìn)制)。 os.mkdir(path[, mode]),path -- 要?jiǎng)?chuàng)建的目錄,mode -- 要為目錄設(shè)置的權(quán)限數(shù)字模式 ''' '''makedirs()''' ''' os.makedirs() 方法用于遞歸創(chuàng)建目錄。像 mkdir(), 但創(chuàng)建的所有intermediate-level文件夾需要包含子目錄。 os.makedirs(path, mode=0o777) '''

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      獲取目錄下的信息

      '''listdir()''' ''' os.listdir() 方法用于返回指定的文件夾包含的文件或文件夾的名字的列表。 它不包括 . 和 .. 即使它在文件夾中。只支持在 Unix, Windows 下使用。 os.listdir(path) '''

      1

      2

      3

      4

      5

      6

      7

      修改目錄

      '''rename()''' ''' os.rename() 方法用于命名文件或目錄,從 src 到 dst,如果dst是一個(gè)存在的目錄, 將拋出OSError。 os.rename(src, dst),src -- 要修改的目錄名,dst -- 修改后的目錄名 os.renames() 方法用于遞歸重命名目錄或文件。類(lèi)似rename()。os.renames(old, new) old -- 要重命名的目錄 new --文件或目錄的新名字。甚至可以是包含在目錄中的文件,或者完整的目錄樹(shù)。 '''

      1

      2

      3

      初識(shí)Python之文件操作篇(下)

      4

      5

      6

      7

      8

      9

      刪除目錄

      '''rmdir()''' ''' os.rmdir() 方法用于刪除指定路徑的目錄。僅當(dāng)這文件夾是空的才可以, 否則, 拋出OSError。 os.rmdir(path),path -- 要?jiǎng)h除的目錄路徑 os.remove() 方法用于刪除指定路徑的文件。如果指定的路徑是一個(gè)目錄,將拋出OSError。在Unix, Windows中有效 os.remove(path),path -- 要移除的文件路徑, os.removedirs() 方法用于遞歸刪除目錄。像rmdir(), 如果子文件夾成功刪除, removedirs()才嘗試它們的父文件夾,直到拋出一個(gè)error(它基本上被忽略,因?yàn)樗话阋馕吨阄募A不為空)。 os.removedirs(path),path -- 要移除的目錄路徑 '''

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      其他文件操作方法

      在Python文件操作方法里面,與我們?cè)趯W(xué)習(xí)Linux的基礎(chǔ)知識(shí)有異曲同工之妙,所以融會(huì)貫通才是真理所在。其他文件操作我在這里介紹一個(gè)網(wǎng)址,請(qǐng)查閱其他系列方法

      總結(jié)

      文件操作這個(gè)就已經(jīng)告一段落了,如果有需要資料的童鞋(爬蟲(chóng)入門(mén)書(shū)籍,Python進(jìn)階書(shū)籍,還有一些數(shù)據(jù)庫(kù)的資料)歡迎到我主頁(yè)留言。我們下期文章再會(huì)!

      滿(mǎn)滿(mǎn)的干貨,都是小王在網(wǎng)絡(luò)大數(shù)據(jù)的平臺(tái),細(xì)細(xì)挑選的,親測(cè)試用,如果你不知道如何選擇書(shū)籍,就快來(lái)領(lǐng)取福利吧!

      Python

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶(hù)投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:論文解讀系列二十九:無(wú)監(jiān)督視覺(jué)表征學(xué)習(xí)的動(dòng)量對(duì)比
      下一篇:老王私房錢(qián)之MYSQL事務(wù)及隔離級(jí)別
      相關(guān)文章
      www国产亚洲精品久久久日本| 亚洲精品天堂在线观看| 成人亚洲国产精品久久| 亚洲一区二区无码偷拍| 99久久婷婷国产综合亚洲| 亚洲国产成人久久综合一区| 久久久亚洲欧洲日产国码是AV| 亚洲VA成无码人在线观看天堂 | 亚洲一级片在线观看| 亚洲另类小说图片| 亚洲精品伊人久久久久| 亚洲精品第一综合99久久| 亚洲一卡2卡3卡4卡5卡6卡| 亚洲国产无线乱码在线观看| 亚洲变态另类一区二区三区| 亚洲AV无码一区二区乱子仑| 爱情岛论坛亚洲品质自拍视频网站| 国产成人精品日本亚洲语音| 国产亚洲精品91| 国产成人亚洲精品影院| 亚洲午夜久久久久妓女影院 | 亚洲日韩精品国产一区二区三区| 亚洲欧洲精品成人久久曰| 亚洲AV女人18毛片水真多| 亚洲国产精品尤物YW在线观看| 精品国产人成亚洲区| 亚洲综合区小说区激情区 | 亚洲影视一区二区| 中文字幕亚洲情99在线| 亚洲AV无码精品国产成人| 国产成人亚洲精品91专区高清| 亚洲国产中文字幕在线观看| 中文亚洲AV片不卡在线观看| 亚洲AV无码一区二区乱孑伦AS| 911精品国产亚洲日本美国韩国 | 国产精品亚洲天堂| 亚洲精品网站在线观看不卡无广告| 亚洲综合色自拍一区| 亚洲视频精品在线| 亚洲一区二区三区在线观看蜜桃| 亚洲人成人网站18禁|