成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

用Python復制文件的九種方法

開發 后端
本文介紹九種用Python復制文件的方法,其中有shutil copyfile()方法、shutil copy()方法、shutil copyfileobj()方法等等,詳細看下文。

[[208565]]

以下是演示“如何在Python中復制文件”的九種方法。

  1. shutil copyfile()方法
  2. shutil copy()方法
  3. shutil copyfileobj()方法
  4. shutil copy2()方法
  5. os popen方法
  6. os系統()方法
  7. Thread()方法
  8. 子進程調用()方法
  9. 子進程check_output()方法 

 

1. Shutil Copyfile()方法

該方法只有在目標可寫時才將源的內容復制到目的地。如果您沒有寫入權限,則會引發IOError。

它通過打開輸入文件進行閱讀,忽略其文件類型。接下來,它不會對特殊文件進行任何不同的處理,也不會將它們復制為新的特殊文件。

所述的CopyFile()方法利用較低級別的功能的copyfileobj()的下方。它將文件名稱作為參數,打開它們并將文件句柄傳遞給copyfileobj()。該方法中有一個可選的第三個參數,您可以使用它來指定緩沖區長度。然后它將打開文件以讀取指定緩沖區大小的塊。但是,默認行為是一次性讀取整個文件。

 

以下是有關copyfile()方法的要點。

  • 它將源的內容復制到名為目標的文件。
  • 如果目的地不可寫,則復制操作將導致IOError異常。
  • 如果源文件和目標文件都相同,它將返回SameFileError。
  • 但是,如果目的地以不同的名稱預先存在,則副本將覆蓋其內容。
  • 如果目的地是目錄,則意味著此方法將不會復制到目錄,將會發生錯誤13。
  • 它不支持復制文件,如字符或塊設備和管道。 

 

2. Shutil Copy()方法

 

copy()方法的功能類似于“CP”在Unix命令。這意味著如果目標是一個文件夾,那么它將在其中創建一個與源文件相同的名稱(basename)的新文件。此外,該方法將復制其內容后將目標文件的權限與源進行同步。 如果要復制相同的文件,它也會拋出SameFileError。

 

 

3. Shutil Copyfileobj()方法

此方法將文件復制到目標路徑或文件對象。如果目標是文件對象,則需要在調用copyfileobj()之后明確關閉它。它假設一個可選參數(緩沖區大小),您可以使用它來提供緩沖區長度。這是在復制過程中保存在內存中的字節數。系統使用的默認大小為16KB。

 

4. Shutil Copy2()方法

但是,copy2()方法的功能類似于copy()。但是,在復制數據的同時,也可以在元數據中添加訪問和修改時間。復制同一個文件會導致SameFileError。

 

對于好奇 – Copymode()與Copystat()之間的區別。

 

5. Os Popen()方法

該方法創建一個指向或來自該命令的管道。它返回一個連接到管道的打開的文件對象。您可以根據文件打開模式(即’r’(默認)或’w’)使用它進行讀取或寫入。

 

  • 模式 –它可以是’r’(默認)或’w’。
  • bufsize –如果其值為0,則不會發生緩沖。如果設置為1,則在訪問文件時將進行行緩沖。如果您提供的值大于1,則緩沖將以指定的緩沖區大小進行。但是,對于負值,系統將采用默認緩沖區大小。

對于Windows操作系統。

 

對于Linux操作系統。

 

6. Os System()方法

它是運行任何系統命令的最常見方式。使用system()方法,可以在subshell中調用任何命令。在內部,這種方法會調用標準的C庫函數。

此方法返回命令的退出狀態。

對于Windows操作系統。 

 

對于Linux操作系統。

 

7.以Async方式使用線程庫的Python文件復制

如果要以異步方式復制文件,請使用以下方法。在這里,我們使用Python的線程模塊在后臺運行復制操作。

使用此方法時,請確保采用鎖定以避免死鎖。如果您的應用程序正在使用多個線程讀取/寫入文件,您可能會面對它。 

 

8.使用子進程的Call()方法在Python中復制一個文件

子進程模塊提供了一個簡單的界面來處理子進程。它使我們能夠啟動子進程,附加到其輸入/輸出/錯誤管道,并檢索返回值。

子流程模塊旨在替代傳統模塊和功能,如os.system,os.spawn *,os.popen *,popen2。*。

它公開一個call()方法來調用系統命令來執行用戶任務。

 

9.使用子進程的Check_output()方法在Python中復制文件

使用子進程的check_output()方法,可以運行外部命令或程序并捕獲其輸出。它還支持管道。 

責任編輯:龐桂玉 來源: 36大數據
相關推薦

2025-01-14 07:00:00

線程池ExecutorsJava

2022-05-31 16:00:46

Go 編程語言復制文件Go 標準庫

2021-08-18 11:55:25

Python函數代碼

2024-08-23 09:06:26

2022-01-16 09:30:34

Ansible自動化工具開源

2023-03-07 15:47:15

2024-04-24 10:47:20

物聯網智能建筑

2010-10-20 13:52:07

SQL Server數

2023-05-17 10:53:43

AICIO

2024-07-09 08:43:52

2021-11-28 06:47:32

Python函數開發

2023-06-02 10:02:17

AICIO供應商

2019-10-08 10:28:36

Python程序員鏡音雙子

2023-12-29 09:23:25

Python回調函數遍歷字典

2020-05-15 08:28:18

二進制文件binLinux

2022-07-13 16:06:16

Python參數代碼

2024-11-15 07:00:00

Python發送郵件

2011-01-04 14:27:50

安裝linux方法

2016-10-12 13:53:38

JavaByteBufferRandomAcces

2021-02-05 08:03:52

Java
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 色综合欧美| 天堂久久网 | 一区二区三区网站 | 国产精品精品久久久 | 国产丝袜一区二区三区免费视频 | 国产欧美在线播放 | 一二三四在线视频观看社区 | 男女羞羞视频在线观看 | 91av视频在线播放 | 欧美精品久久久久久久久老牛影院 | 羞羞的视频免费在线观看 | 神马久久久久久久久久 | 国产一区二区三区高清 | 国产精品永久在线观看 | 久久久久久91 | 99精品99久久久久久宅男 | 久久精品亚洲精品国产欧美 | 青青久草 | 午夜免费精品视频 | 午夜三区 | 久久成人免费视频 | 91精品国产91久久久久游泳池 | 日韩在线观看网站 | av片免费 | 中文字幕久久久 | 日本黄视频在线观看 | 欧美自拍一区 | 日韩精品视频在线观看一区二区三区 | 成人福利电影 | 福利网站在线观看 | 日韩国产三区 | av免费网址 | 一级高清 | 免费在线性爱视频 | 国产一区二区三区免费观看视频 | 中文字幕在线一区二区三区 | 欧美精品在线免费观看 | 81精品国产乱码久久久久久 | 国内精品久久久久久影视8 最新黄色在线观看 | 中文字幕一区在线 | 日韩和的一区二区 |