2016年7月26日 星期二

Python 操作檔案目錄

Python 對於檔案處理的方法
  • 檔案處理方式:
    • 讀寫檔案內容!(上一章節)
    • 操作檔案目錄系統!
    • 執行檔案程式!(下一章節)
  • Python 常用的檔案操作函數:
    函數名稱說明所屬模組
    open(檔案名稱, 檔案操作類型)
    close()
    開啟檔案
    關閉檔案
    default
    exits('路徑/檔案名稱')測試檔案是否存在os.path
    isfile('檔案名稱')
    isdir('目錄名稱')
    檢查檔案類型os.path
    isabs('路徑名稱')檢查路徑名稱是否為路徑os.path
    copy('來源檔名','目的檔名')複製檔案shutil
    move('來源檔名','目的檔名')搬移檔案shutil
    rename('來源檔名','目的檔名')將檔案名稱更名os
    link('來源檔名','目的檔名')
    symlink('來源檔名','目的檔名')
    建立檔案連結os
    islink('檔案名稱')判斷是否為符號連結檔案os.path
    chmod('檔案名稱',0o權限值)更改檔案權限os
    chown('檔案名稱',uid,gid)更改檔案擁有權os
    abspath('檔案名稱')取得檔案絕對路徑名稱os.path
    realpath('檔案名稱')取得檔案符號連結路徑名稱os.path
    remove('檔案名稱')將檔案刪除os.path

  • Python 常用的目錄操作函數:
    函數名稱說明所屬模組
    mkdir('目錄名稱')建立目錄os
    rmdir('目錄名稱')刪除目錄os
    listdir('目錄名稱')列出目錄內容os
    chdir('目錄名稱')切換目錄os
快速測試:
  1. 開啟互動式指令:
    #python3
    Python 3.4.3 (default, Jan 26 2016, 02:25:35)
    [GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
    
  2. 建立檔案:
    >>> test1 = open("test",'wt')
    >>> print('Hello World!',file=test1)
    >>> test1.close()
    
  3. 判斷檔案是否存在:
    >>> import os
    >>> os.path.exists('test')
    True
    
  4. 檢查檔案類型:
    >>> os.path.isfile('test')
    True
    >>> os.path.isdir('test')
    False
    >>> os.path.isdir('.')
    True
    >>> os.path.isdir('..')
    True
    >>> os.path.isabs('/tmp')
    True
    >>>
    
  5. 複製檔案:
    >>> import shutil
    >>> shutil.copy('test','test1')
    'test1'
    >>>
    
  6. 更改檔案名稱:
    >>> import shutil
    >>> shutil.move('test1','test2')
    'test2'
    >>> import os
    >>> os.rename('test2','test2_move')
    >>>
    
  7. 建立連結檔案:
    >>> os.link('test2_move','test2.txt')
    >>> os.symlink('test2.txt','test3.txt')
    >>> os.path.islink('test3.txt')
    True
    >>> os.path.islink('test2.txt')
    False
    >>>
    
  8. 更改檔案權限:
    >>> os.chmod('test2.txt',0o400)
    >>>
    
  9. 更改檔案擁有權:
    >>> os.chown('test2.txt',1000,5)
    >>>
    
  10. 取得檔案目前路徑:
    >>> os.path.abspath('test2.txt')
    '/home/student/python_HW/files/test2.txt'
    >>>
    
  11. 取得符號連結檔案路徑名稱:
    >>> os.path.realpath('test3.txt')
    '/home/student/python_HW/files/test2.txt'
    
  12. 刪除檔案:
    >>> os.remove('test3.txt')
    >>> os.path.exists('test3.txt')
    False
    >>>
    
  13. 建立目錄:
    >>> os.mkdir('work')
    >>> os.path.exists('work')
    True
    
  14. 刪除目錄:
    >>> os.rmdir('work')
    >>> os.path.exists('work')
    False
    >>>
    
  15. 列出目錄內容:
    >>> os.mkdir('work')
    >>> os.listdir('work')
    []
    >>> os.mkdir('work/test')
    >>> os.listdir('work/test')
    []
    >>>
    
  16. 改變目前工作路徑:
    >>> os.chdir('work')
    >>> os.listdir('.')
    ['test']
    >>>