python 組織文件 學習筆記

1、shutil 模塊安全

1.複製文件和文件夾函數

    1.1 shutil.copy() 複製文件spa

        shutil.copy(source, destination),將路徑source 處的文件複製到路徑destination處的文件夾(source 和 destination 都是字符串)ip

        >>> import shutil, osci

        >>> os.chdir('/root')字符串

        >>> shutil.copy('/root/Python36/love.py','/root/')get

    1.2 shutil.copytree()將複製整個文件夾it

          shutil.copytree()將複製整個文件夾,以及它包含的文件夾和文件。調用 shutil.copytree(source, destination),將路徑 source 處的文件夾,包括它的全部文件和子文件夾,複製到路徑 destination 處的文件夾。source 和destination 參數都是字符串。io

       >>> import shutil, os
        >>> os.chdir('C:\\')
       >>> shutil.copytree('C:\\bacon', 'C:\\bacon_backup')table

  2.文件和文件夾的移動與更名

    2.1 shutil.move(source, destination)

         shutil.move(source, destination),將路徑 source 處的文件夾移動到路徑destination。

         若是 destination 指向一個文件夾,source 文件將移動到 destination 中,並保持原來的文件名。例如,在交互式環境中輸入如下代碼:

            >>> import shutil
            >>> shutil.move('C:\\bacon.txt', 'C:\\eggs')

        destination 路徑也能夠指定一個文件名。在下面的例子中,source 文件被移動並更名。

            >>> shutil.move('C:\\bacon.txt', 'C:\\eggs\\new_bacon.txt')

        若是沒有 eggs 文件夾,move()就會將 bacon.txt 更名,變成名爲 eggs 的文件。

            >>> shutil.move('C:\\bacon.txt', 'C:\\eggs') 

    3. 永久刪除文件和文件夾

        3.1 用 os.unlink(path)將刪除 path 處的文件。

        3.2  調用 os.rmdir(path)將刪除 path 處的文件夾。該文件夾必須爲空,其中沒有任何文件和文件夾。  

        3.3 調用 shutil.rmtree(path)將刪除 path 處的文件夾,它包含的全部文件和文件夾都會被刪除。

    4.用send2trash模塊安全地刪除

        由於 Python 內建的 shutil.rmtree()函數不可恢復地刪除文件和文件夾,因此 用起來可能有危險。刪除文件和  文件夾的更好方法,是使用第三方的 send2trash 模塊。

        利用 send2trash,比 Python 常規的刪除函數要安全得多,由於它會將文件夾和文件發送到計算機的垃圾箱或回收站,而不是永久刪除它們。若是因程序缺陷而用send2trash 刪除了某些你不想刪除的東西,稍後能夠從垃圾箱恢復。

        安裝 send2trash 後,在交互式環境中輸入如下代碼:

        >>> import send2trash
        >>> baconFile = open('bacon.txt', 'a') # creates the file
        >>> baconFile.write('Bacon is not a vegetable.')
        25
        >>> baconFile.close()
        >>> send2trash.send2trash('bacon.txt')

2.遍歷目錄樹

        os.walk()函數:

        import os

        for folderName, subfolders, filenames in os.walk('C:\\delicious'):

            print('The current folder is ' + folderName)

            for subfolder in subfolders:

                print('SUBFOLDER OF ' + folderName + ': ' + subfolder)

            for filename in filenames:

                print('FILE INSIDE' + folderName + ':' + filename)

            print(' ')

        os.walk( )函數被傳入一個字符串值,即一個文件夾的路徑。 

3.zipfile 模塊壓縮文件

相關文章
相關標籤/搜索