最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用Python復(fù)制文件的9種方法總結(jié)

 更新時間:2019年09月02日 09:40:16   作者:編程搬運工  
這篇文章主要給大家總結(jié)介紹了關(guān)于利用Python復(fù)制文件的9種方法,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧

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

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


1. Shutil Copyfile()方法

該方法只有在目標可寫時才將源的內(nèi)容復(fù)制到目的地。如果您沒有寫入權(quán)限,則會引發(fā)IOError。

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

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

以下是有關(guān)**copyfile()**方法的要點。

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


2. Shutil Copy()方法


copy()方法的功能類似于“CP”在Unix命令。這意味著如果目標是一個文件夾,那么它將在其中創(chuàng)建一個與源文件相同的名稱(basename)的新文件。此外,該方法將復(fù)制其內(nèi)容后將目標文件的權(quán)限與源進行同步。 如果要復(fù)制相同的文件,它也會拋出SameFileError。以下是演示**“如何在Python中復(fù)制文件”的九種方法**。如果你依然在編程的世界里迷茫,不知道自己的未來規(guī)劃可以加入我們的Python秋秋裙去784掉758文214字看看前輩們?nèi)绾螌W(xué)習(xí)的!交流經(jīng)驗!自己是一名高級python開發(fā)工程師,從基礎(chǔ)的python腳本到web開發(fā)、爬蟲、django、數(shù)據(jù)挖掘等,零基礎(chǔ)到項目實戰(zhàn)的資料都有整理。送給每一位python的小伙伴!分享一些學(xué)習(xí)的方法和需要注意的小細節(jié)

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


1. Shutil Copyfile()方法

該方法只有在目標可寫時才將源的內(nèi)容復(fù)制到目的地。如果您沒有寫入權(quán)限,則會引發(fā)IOError。

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

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

以下是有關(guān)**copyfile()**方法的要點。

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

2. Shutil Copy()方法


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

3. Shutil Copyfileobj()方法

此方法將文件復(fù)制到目標路徑或文件對象。如果目標是文件對象,則需要在調(diào)用**copyfileobj()**之后明確關(guān)閉它。它假設(shè)一個可選參數(shù)(緩沖區(qū)大?。?,您可以使用它來提供緩沖區(qū)長度。這是在復(fù)制過程中保存在內(nèi)存中的字節(jié)數(shù)。系統(tǒng)使用的默認大小為16KB。

4. Shutil Copy2()方法

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

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

5. Os Popen()方法

該方法創(chuàng)建一個指向或來自該命令的管道。它返回一個連接到管道的打開的文件對象。您可以根據(jù)文件打開模式(即'r'(默認)或'w')使用它進行讀取或?qū)懭搿?/p>

**模式 –**它可以是'r'(默認)或'w'。
**bufsize –**如果其值為0,則不會發(fā)生緩沖。如果設(shè)置為1,則在訪問文件時將進行行緩沖。如果您提供的值大于1,則緩沖將以指定的緩沖區(qū)大小進行。但是,對于負值,系統(tǒng)將采用默認緩沖區(qū)大小。
對于Windows操作系統(tǒng)。

對于Linux操作系統(tǒng)。

6. Os System()方法

它是運行任何系統(tǒng)命令的最常見方式。使用**system()**方法,可以在subshell中調(diào)用任何命令。在內(nèi)部,這種方法會調(diào)用標準的C庫函數(shù)。

此方法返回命令的退出狀態(tài)。

對于Windows操作系統(tǒng)。

對于Linux操作系統(tǒng)。

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

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

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

8.使用子進程的Call()方法在Python中復(fù)制一個文件
子進程模塊提供了一個簡單的界面來處理子進程。它使我們能夠啟動子進程,附加到其輸入/輸出/錯誤管道,并檢索返回值。

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

它公開一個**call()**方法來調(diào)用系統(tǒng)命令來執(zhí)行用戶任務(wù)。

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

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

3. Shutil Copyfileobj()方法

此方法將文件復(fù)制到目標路徑或文件對象。如果目標是文件對象,則需要在調(diào)用**copyfileobj()**之后明確關(guān)閉它。它假設(shè)一個可選參數(shù)(緩沖區(qū)大?。?,您可以使用它來提供緩沖區(qū)長度。這是在復(fù)制過程中保存在內(nèi)存中的字節(jié)數(shù)。系統(tǒng)使用的默認大小為16KB。

4. Shutil Copy2()方法

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

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

5. Os Popen()方法

該方法創(chuàng)建一個指向或來自該命令的管道。它返回一個連接到管道的打開的文件對象。您可以根據(jù)文件打開模式(即'r'(默認)或'w')使用它進行讀取或?qū)懭搿?/p>

**模式 –**它可以是'r'(默認)或'w'。
**bufsize –**如果其值為0,則不會發(fā)生緩沖。如果設(shè)置為1,則在訪問文件時將進行行緩沖。如果您提供的值大于1,則緩沖將以指定的緩沖區(qū)大小進行。但是,對于負值,系統(tǒng)將采用默認緩沖區(qū)大小。
對于Windows操作系統(tǒng)。

對于Linux操作系統(tǒng)。

6. Os System()方法

它是運行任何系統(tǒng)命令的最常見方式。使用**system()**方法,可以在subshell中調(diào)用任何命令。在內(nèi)部,這種方法會調(diào)用標準的C庫函數(shù)。

此方法返回命令的退出狀態(tài)。

對于Windows操作系統(tǒng)。

對于Linux操作系統(tǒng)。

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

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

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

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

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

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

它公開一個**call()**方法來調(diào)用系統(tǒng)命令來執(zhí)行用戶任務(wù)。

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

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


總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。

相關(guān)文章

  • python循環(huán)輸出三角形圖案的例子

    python循環(huán)輸出三角形圖案的例子

    今天小編就為大家分享一篇python循環(huán)輸出三角形圖案的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • 對Python中DataFrame按照行遍歷的方法

    對Python中DataFrame按照行遍歷的方法

    下面小編就為大家分享一篇對Python中DataFrame按照行遍歷的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • 使用Python計算兩個不同列表的相似度

    使用Python計算兩個不同列表的相似度

    這篇文章主要介紹了使用Python計算兩個不同列表的相似度,Python數(shù)據(jù)開發(fā)工作中的需求兩個不同列表給出相似度,本文實現(xiàn)判斷數(shù)字類型相似度和字符串類型相似度,非常實用,需要的朋友可以參考下
    2023-07-07
  • Selenium Webdriver元素定位的八種常用方式(小結(jié))

    Selenium Webdriver元素定位的八種常用方式(小結(jié))

    這篇文章主要介紹了Selenium Webdriver元素定位的八種常用方式(小結(jié)),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • python實現(xiàn)plt x軸坐標按1刻度顯示

    python實現(xiàn)plt x軸坐標按1刻度顯示

    這篇文章主要介紹了python實現(xiàn)plt x軸坐標按1刻度顯示,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Python中的字典合并與列表合并技巧

    Python中的字典合并與列表合并技巧

    這篇文章主要介紹了Python中的字典合并與列表合并技巧,下文圍繞主題展開詳細的內(nèi)容介紹,具有一的的參考價值,需要的小伙伴可以參考一下
    2022-05-05
  • 使用Node.js和Socket.IO擴展Django的實時處理功能

    使用Node.js和Socket.IO擴展Django的實時處理功能

    這篇文章主要介紹了使用Node.js和Socket.IO擴展Django的實時處理功能,用異步處理實時功能是相當(dāng)強大的,文中給出的例子是建立一個實時聊天室,需要的朋友可以參考下
    2015-04-04
  • Pandas實現(xiàn)解析JSON數(shù)據(jù)與導(dǎo)出的示例詳解

    Pandas實現(xiàn)解析JSON數(shù)據(jù)與導(dǎo)出的示例詳解

    其實使用pandas解析JSON?Dataset要方便得多,所以這篇文章主要為大家介紹了Pandas實現(xiàn)解析JSON數(shù)據(jù)與導(dǎo)出的具體方法,需要的小伙伴可以收藏一下
    2023-07-07
  • Python中unittest用法實例

    Python中unittest用法實例

    這篇文章主要介紹了Python中unittest用法,較為詳細的講述了unittest中相關(guān)函數(shù)的用法及完整實例,需要的朋友可以參考下
    2014-09-09
  • numpy.array 操作使用簡單總結(jié)

    numpy.array 操作使用簡單總結(jié)

    這篇文章主要介紹了numpy.array 操作使用簡單總結(jié),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11

最新評論

东乌| 瓦房店市| 灵武市| 安塞县| 嘉义市| 丽水市| 饶阳县| 留坝县| 鹤壁市| 轮台县| 灵台县| 宝坻区| 辉南县| 荆门市| 祥云县| 保德县| 大同县| 宜阳县| 九江市| 资中县| 威宁| 博野县| 潢川县| 新津县| 阿勒泰市| 游戏| 夹江县| 乐昌市| 阿克陶县| 彭泽县| 渑池县| 忻州市| 兴业县| 克什克腾旗| 定边县| 平昌县| 金乡县| 沙坪坝区| 曲阳县| 孟津县| 大余县|