Python os模塊

Python的os模塊是一個跟操做系統結合比較密切的模塊,裏面提供了不少不少比較有用的方法。
python


  1. os.getcwd()   獲取當前工做目錄,即該Python腳本運行時的目錄ide

print(os.getcwd())

結果:/Users/ssspure/PycharmProjects/File/osmodule函數


   2. os.chdir("dirname")  切換到指定的目錄,返回值是Noneui


   3. os.curdir  這並非一個函數,而是返回一個表明當前目錄的常量spa

返回值是:"."操作系統

官方解釋: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是同樣的,返回值是:".."ci

官方解釋: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.rem


   5. os.makedirs(dirname, mode=0o777, exist_ok=False) 建立目錄,能夠指定多個不存在的目錄,          Python遞歸建立這些目錄字符串

os.makedirs("test/demo", 0o700)

   例如上面的代碼中,會在當前目錄下先建立test目錄,以後再test目錄下建立demo目錄。

  mode參數指的是要設置建立目錄的權限,須要注意的一點是,第一位的權限必須是7,不然在建立多個目錄的時候會報錯,以下代碼所示。

os.makedirs("test/demo", 0o600, True)

上面的代碼只能建立test目錄,而且會出現這樣的錯誤:PermissionError: [Errno 13] Permission denied: 'test/demo'

這是由於建立的test目錄權限是rw-------,也就是當前用戶並無進入test目錄的權限,因此demo目錄在建立的時候就會出錯。

exist_ok:該參數若是是False時,若是已經想要建立的目錄已經存在,就會報錯,若是是True,當要建立的目錄存在時不會報錯。


  6. os.removedirs("dir1/dir2/dir3")  遞歸刪除目錄

  首先刪除dir3,以後刪除dir2,最後刪除dir1。若是dir2目錄下面除了dir1以外還有別的目錄或者文件,     再刪除dir3以後,並不會刪除dir2。


  7. os.mkdir("test", 0o777)

  建立單個空目錄


  8. rmdir("test")   刪除單個空目錄,若是目錄不爲空的狀況下會報錯


  9. os.listdir(dirname)  列出指定目錄下的全部文件和文件夾,報錯隱藏的目錄,返回值是一個列表

print(os.listdir("."))

上面代碼的執行結果是:['__init__.py', 'odmodule.py', 'test']


  10. os.remove(file)  刪除一個文件


  11. os.rename(file1, file2)  將file1的文件名改成file2


  12. os.stat(file)  獲取file文件的相關信息,這些信息封裝在一個元組中

print(os.stat("demo.txt"))

返回結果: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  返回當前操做系統下的路徑分隔符

   Linux的路徑分隔符是"/",Windows的是"\\"


  14. os.pathsep  返回當前操做系統的環境變量分隔符

   Linux的路徑分隔符是":",Windows的是";"


  15. os.linesep   返回當前操做系統的行分隔符

   Linux的路徑分隔符是"\n",Windows的是"\r\n"


   16. os.name  輸出當前平臺的字符串名稱

   Linux-->posix      win-->nt


   17. os.system(command)    執行相應平臺的Shell命令

os.system("ls")

列出當前目錄下的文件,至關於執行ls命令


   18. os.environ    輸出當前系統的環境變量


   19. os.path.abspath(path)    返回指定路徑的絕對路徑    

print(os.path.abspath("."))

上面返回的結果是:/Users/ssspure/PycharmProjects/File/osmodule


   20. os.path.split(path)   將指定的path分割成目錄和文件,即便不存在的路徑也能分割成功,最後返回一個目錄和文件組成的元組

print(os.path.split("/User/demo/test"))


   21. os.path.dirname(path)和os.path.basename(path)

   這兩個分別返回目錄名和文件名,其實也就是os.path.split函數的第一個和第二個結果

print(os.path.dirname("/Users/test/python"))
print(os.path.basename("/Users/test/python"))

輸出的結果分別是:

/Users/test

python


   22. os.path.exists(path)    判斷指定的路徑是否存在,存在返回True,不存在返回False

print(os.path.exists("/Users/ssspure/專用播放器.exe"))

執行上面的代碼返回True

 

print(os.path.exists("/Users/ssspure/專用播放器1.exe"))

上面的代碼返回False


  23. os.path.isabs(path)   判斷路徑是不是絕對路徑,這個函數並不會判斷路徑是不是有效存在的路徑。

   Linux平臺下凡是以"/"開頭的路徑都會被該函數判斷爲絕對路徑,Windows下以磁盤開頭的會被判斷爲絕對路徑


  24. os.path.isfile(filepath)   判斷指定的文件是否爲文件

print(os.path.isfile("/Users/ssspure/專用播放器.exe"))

上面代碼的執行結果返回的是True


  25. os.path.isdir(path)   返回指定的路徑是不是一個目錄

print(os.path.isdir("/Users/ssspure"))

上面代碼的執行結果是True


  26. os.path.join(path1,path2,path3...)   將多個路徑拼接到一塊兒

print(os.path.join("ssspure", "test", "demo"))

書面代碼的輸出結果是:ssspure/test/demo


  27. os.path.getatime(path)和os.path.getmtime(path) 分別返回對應文件的上一次訪問時間和修改時間

print(os.path.getatime("/Users/ssspure/專用播放器.exe"))
print(os.path.getmtime("/Users/ssspure/專用播放器.exe"))

上面代碼的執行結果是:

1484566427.0

1481293274.0

返回的是時間戳

相關文章
相關標籤/搜索