os 模組

  1. Python 內建很多模組可以使用,其中 os 模組提供檔案管理員的 methods:
    1. os.rename(current_file_name, new_file_name):檔案重新命名。
    2. os.remove(file_name):刪除檔案。
    3. os.mkdir("newdir"):建立目錄。
    4. os.chdir("newdir"):變更工作目錄。
    5. os.getcwd():列印目前的工作目錄。
    6. os.rmdir('dirname'):刪除目錄。
  2. 範例:開啟檔案 ostest.txt,寫入資料後關閉,使用 rename method 重新命名為 newostest.txt,讀取檔案,關閉後刪除檔案。
    [dywang@deyu zzz]$ cat fileio6.py 
    #!/usr/bin/python3
    import os
    
    fo = open("ostest.txt", "w")
    fo.write("file rename\n")
    fo.close()
    os.rename("ostest.txt", "newostest.txt")
    fo = open("newostest.txt", "r")
    print(fo.read()[:-1])
    fo.close()
    os.remove("newostest.txt")
    
  3. 執行結果:列印 newostest.txt 結果無誤,且執行完 ostest.txt 及 newostest.txt 檔案都不存在。
    [dywang@deyu zzz]$ ./fileio6.py 
    file rename
    [dywang@deyu zzz]$ ll *ostest.txt
    ls: cannot access *ostest.txt: No such file or directory
    
  4. 範例:建立 ostest 目錄,改變工作目錄到 ostest,列印目前的工作目錄,回到上一層目錄,刪除 ostest 目錄。
    [dywang@deyu zzz]$ cat fileio7.py 
    #!/usr/bin/python3
    import os
    
    os.mkdir("ostest")
    os.chdir("ostest")
    print(os.getcwd()[:])
    os.chdir("../")
    os.rmdir("ostest")
    
  5. 執行結果:列印工作目錄為 /home/dywang/zzz/ostest,而且程式執行完 ostest 目錄也被刪除了。
    [dywang@deyu zzz]$ ./fileio7.py 
    /home/dywang/zzz/ostest
    [dywang@deyu zzz]$ ll ostest
    ls: cannot access ostest: No such file or directory