Python的os模塊是一個(gè)跟操作系統(tǒng)結(jié)合比較密切的模塊,里面提供了很多很多比較有用的方法。 ?
結(jié)果:/Users/ssspure/PycharmProjects/File/osmodule ? ? ?2. os.chdir("dirname") ?切換到指定的目錄,返回值是None ? ???3.?os.curdir ?這并不是一個(gè)函數(shù),而是返回一個(gè)代表當(dāng)前目錄的常量 返回值是:"." 官方解釋?zhuān)篢he constant string used by the operating system to refer to the current directory. This is '.' for Windows and POSIX. Also available via os.path. ? ? ?4.?os.pardir ?跟上面的os.curdir是一樣的,返回值是:".." 官方解釋?zhuān)篢he constant string used by the operating system to refer to the parent directory. This is '..' for Windows and POSIX. Also available via os.path. ? ? ?5.?os.makedirs(dirname, mode=0o777, exist_ok=False)?創(chuàng)建目錄,可以指定多個(gè)不存在的目錄, ? ? ? ? ?Python遞歸創(chuàng)建這些目錄
? ?例如上面的代碼中,會(huì)在當(dāng)前目錄下先創(chuàng)建test目錄,之后再test目錄下創(chuàng)建demo目錄。 ? mode參數(shù)指的是要設(shè)置創(chuàng)建目錄的權(quán)限,需要注意的一點(diǎn)是,第一位的權(quán)限必須是7,否則在創(chuàng)建多個(gè)目錄的時(shí)候會(huì)報(bào)錯(cuò),如下代碼所示。
上面的代碼只能創(chuàng)建test目錄,并且會(huì)出現(xiàn)這樣的錯(cuò)誤:PermissionError: [Errno 13] Permission denied: 'test/demo' 這是因?yàn)閯?chuàng)建的test目錄權(quán)限是rw-------,也就是當(dāng)前用戶并沒(méi)有進(jìn)入test目錄的權(quán)限,所以demo目錄在創(chuàng)建的時(shí)候就會(huì)出錯(cuò)。 exist_ok:該參數(shù)如果是False時(shí),如果已經(jīng)想要?jiǎng)?chuàng)建的目錄已經(jīng)存在,就會(huì)報(bào)錯(cuò),如果是True,當(dāng)要?jiǎng)?chuàng)建的目錄存在時(shí)不會(huì)報(bào)錯(cuò)。 ? ? 6. os.removedirs("dir1/dir2/dir3") ?遞歸刪除目錄 ? 首先刪除dir3,之后刪除dir2,最后刪除dir1。如果dir2目錄下面除了dir1之外還有別的目錄或者文件, ? ? 再刪除dir3之后,并不會(huì)刪除dir2。 ? ? 7. os.mkdir("test", 0o777) ? 創(chuàng)建單個(gè)空目錄 ? ? 8. rmdir("test") ? 刪除單個(gè)空目錄,如果目錄不為空的情況下會(huì)報(bào)錯(cuò) ? ? 9. os.listdir(dirname) ?列出指定目錄下的所有文件和文件夾,報(bào)錯(cuò)隱藏的目錄,返回值是一個(gè)列表
上面代碼的執(zhí)行結(jié)果是:['__init__.py', 'odmodule.py', 'test'] ? ? 10. os.remove(file) ?刪除一個(gè)文件 ? ? 11. os.rename(file1, file2) ?將file1的文件名改為file2 ? ? 12. os.stat(file) ?獲取file文件的相關(guān)信息,這些信息封裝在一個(gè)元組中
返回結(jié)果:os.stat_result(st_mode=33188, st_ino=4067145, st_dev=16777220, st_nlink=1, st_uid=501, st_gid=20, st_size=8, st_atime=1484573900, st_mtime=1484573764, st_ctime=1484573764) ? ? 13. os.sep ?返回當(dāng)前操作系統(tǒng)下的路徑分隔符 ? ?Linux的路徑分隔符是"/",Windows的是"\\" ? ? 14. os.pathsep ?返回當(dāng)前操作系統(tǒng)的環(huán)境變量分隔符 ? ?Linux的路徑分隔符是":",Windows的是";" ? ? 15. os.linesep ? 返回當(dāng)前操作系統(tǒng)的行分隔符 ? ?Linux的路徑分隔符是"\n",Windows的是"\r\n" ? ? ?16. os.name ?輸出當(dāng)前平臺(tái)的字符串名稱(chēng) ? ?Linux-->posix ? ? ?win-->nt ? ? ?17.?os.system(command) ? ?執(zhí)行相應(yīng)平臺(tái)的Shell命令
列出當(dāng)前目錄下的文件,相當(dāng)于執(zhí)行l(wèi)s命令 ? ? ?18. os.environ ? ?輸出當(dāng)前系統(tǒng)的環(huán)境變量 ? ? ?19. os.path.abspath(path) ? ?返回指定路徑的絕對(duì)路徑 ? ?
上面返回的結(jié)果是:/Users/ssspure/PycharmProjects/File/osmodule ? ? ?20.?os.path.split(path) ? 將指定的path分割成目錄和文件,即使不存在的路徑也能分割成功,最后返回一個(gè)目錄和文件組成的元組
? ? ?21. os.path.dirname(path)和os.path.basename(path) ? ?這兩個(gè)分別返回目錄名和文件名,其實(shí)也就是os.path.split函數(shù)的第一個(gè)和第二個(gè)結(jié)果
輸出的結(jié)果分別是: /Users/test python ? ? ?22. os.path.exists(path) ? ?判斷指定的路徑是否存在,存在返回True,不存在返回False
執(zhí)行上面的代碼返回True ?
上面的代碼返回False ? ? 23. os.path.isabs(path) ? 判斷路徑是否是絕對(duì)路徑,這個(gè)函數(shù)并不會(huì)判斷路徑是否是有效存在的路徑。 ? ?Linux平臺(tái)下凡是以"/"開(kāi)頭的路徑都會(huì)被該函數(shù)判斷為絕對(duì)路徑,Windows下以磁盤(pán)開(kāi)頭的會(huì)被判斷為絕對(duì)路徑 ? ? 24. os.path.isfile(filepath) ? 判斷指定的文件是否為文件
上面代碼的執(zhí)行結(jié)果返回的是True ? ? 25. os.path.isdir(path) ? 返回指定的路徑是否是一個(gè)目錄
上面代碼的執(zhí)行結(jié)果是True ? ? 26. os.path.join(path1,path2,path3...) ? 將多個(gè)路徑拼接到一起
書(shū)面代碼的輸出結(jié)果是:ssspure/test/demo ? ? 27. os.path.getatime(path)和os.path.getmtime(path) 分別返回對(duì)應(yīng)文件的上一次訪問(wèn)時(shí)間和修改時(shí)間
上面代碼的執(zhí)行結(jié)果是: 1484566427.0 1481293274.0 返回的是時(shí)間戳 來(lái)源:http://www./content-1-155651.html |
|
來(lái)自: 印度阿三17 > 《開(kāi)發(fā)》