<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC] shutil 模塊,是高級文件、文件夾、壓縮包的處理模塊,shutil 對壓縮包的處理是調用 ZipFile 和 TarFile 兩個模塊來進行的 ## 拷貝文件 * **shutil.copyfileobj(fsrc, fdst[, length])** 將文件內容拷貝到另一個文件中,不能直接跟文件,要跟文件對象 ``` import shutil shutil.copyfileobj(open('old.xml','r'), open('new.xml', 'w')) ``` * **shutil.copyfile(src, dst)** 拷貝文件,相當于復制`cp` ``` shutil.copyfile('f1.log', 'f2.log') #目標文件無需存在 ``` * **shutil.copymode(src, dst)** 僅拷貝權限。內容、組、用戶均不變 ``` shutil.copymode('f1.log', 'f2.log') #目標文件必須存在 ``` * **shutil.copystat(src, dst)** 僅拷貝狀態的信息,包括:mode bits, atime, mtime, flags ``` shutil.copystat('f1.log', 'f2.log') #目標文件必須存在 ``` * shutil.copy(src, dst) 拷貝文件和權限 ``` import shutil shutil.copy('f1.log', 'f2.log') ``` * **shutil.copy2(src, dst)** 拷貝文件和狀態信息 ``` import shutil shutil.copy2('f1.log', 'f2.log') ``` * **shutil.ignore_patterns(*patterns)** 拷貝時忽略某些文件 * **shutil.copytree(src, dst, symlinks=False, ignore=None)** 遞歸的去拷貝文件夾 ``` import shutil shutil.copytree('folder1', 'folder2', ignore=shutil.ignore_patterns('*.pyc', 'tmp*')) #目標目錄不能存在,注意對folder2目錄父級目錄要有可寫權限,ignore的意思是排除 ``` ## 刪除移動文件 * **shutil.rmtree(path[, ignore_errors[, onerror]])** 遞歸的去刪除文件 ``` import shutil shutil.rmtree('folder1') ``` * **shutil.move(src, dst)** 遞歸的去移動文件,它類似mv命令,其實就是重命名。 ``` import shutil shutil.move('folder1', 'folder3') ``` ## 解包打包 ### shutil.make_archive * 功能&語法: 創建壓縮包并返回文件路徑,例如:zip、tar ``` ake_archive(base_name, format, root_dir=None, base_dir=None,owner=None, group=None, logger=No ``` * 參數詳解 * base_name: 壓縮包的文件名,也可以是壓縮包的路徑。只是文件名時,則保存至當前目錄,否則保存至指定路徑, * format: 壓縮包種類,“zip”, “tar”, “bztar”,“gztar” * root_dir: 要壓縮的文件夾路徑(默認當前目錄) * owner: 用戶,默認當前用戶 * group: 組,默認當前組 * logger: 用于記錄日志,通常是logging.Logger對象 * 案例1:將 /data下的文件打包放置當前程序目錄 ``` import shutil ret = shutil.make_archive("data_bak", 'gztar', root_dir='/data') ``` * 案例2:將 /data下的文件打包放置 /tmp/目錄 ``` import shutil ret = shutil.make_archive("/tmp/data_bak", 'gztar', root_dir='/data') ``` ### zipfile模塊 * 導入 `import zipfile` * 壓縮 ``` z = zipfile.ZipFile('laxi.zip', 'w') z.write('a.log') z.write('data.data') z.close() ``` * 解壓 ``` z = zipfile.ZipFile('laxi.zip', 'r') z.extractall(path='.') z.close() ``` ### tarfile壓縮&解壓縮 * 導入 `import tarfile` * 壓縮 ``` >>> t=tarfile.open('/tmp/egon.tar','w') >>> t.add('/test1/a.py',arcname='a.bak') >>> t.add('/test1/b.py',arcname='b.bak') >>> t.close() ``` * 解壓 ``` >>> t=tarfile.open('/tmp/egon.tar','r') >>> t.extractall('/egon') >>> t.close() ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看