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