copy 修改时间_DAY5-step3 Python用shutil.copy(), shutil.copystat()复制文件
生活随笔
收集整理的這篇文章主要介紹了
copy 修改时间_DAY5-step3 Python用shutil.copy(), shutil.copystat()复制文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Python復制文件的方法
Python提供了內置函數,可使用操作系統Shell工具輕松復制文件。
以下命令用于復制文件
shutil.copy(src,dst)以下命令用于復制帶有元數據信息的文件
注:元數據信息指文件的讀寫權限,擁有者等信息
shutil.copystat(src,dst)以下是在Python中復制文件的步驟
步驟1)在復制文件之前,我們需要獲取當前目錄中原始文件的路徑。
代碼說明
- 首先,我們要檢查“ guru.txt”文件是否存在。 由于我們早先創建了guru.txt文件,因此我們知道該文件存在,因此我們將繼續處理代碼
- 如果文件存在,我們會將文件的物理路徑存儲在變量“ src”中
- 獲得路徑后,我們將路徑和文件名分開,使用path.split函數,參數是src,得到路徑path和文件名file
步驟2)我們使用Shutil模塊創建現有文件的副本。 現在我們來創建現有文件“ guru.txt”的副本。
代碼說明
- 原始文件名“ guru.txt”,在末尾添加字母.bak,文件名將是“ guru.txt.bak”。 該擴展名為.bak的名稱將成為我們的副本
- 然后我們將使用實用程序的copy函數 將其從src復制到dst
- 運行代碼后,您將在面板的右側看到新產生了一個擴展名為.bak的文件。
步驟3)copy函數僅復制文件的內容,而不復制其他信息。 要復制與文件關聯的元數據,文件許可權和其他信息,您必須使用“ copystat”函數。 在運行此代碼之前,我們必須刪除我們的復制文件“ guru.text.bak”。
刪除文件并運行程序后,將創建.txt文件的副本,但這一次包含所有信息,例如文件許可權,修改時間和元數據信息。 您可以轉到操作系統的Shell來驗證信息。
這是代碼
import osimport shutilfrom os import pathdef main(): # make a duplicate of an existing fileif path.exists("guru.txt"): # get the path to the file in the current directory src = path.realpath("guru.txt"); #seperate the path from the filterhead, tail = path.split(src)print("path:" +head)print("file:" +tail)#let's make a backup copy by appending "bak" to the namedst = src+".bak"# nowuse the shell to make a copy of the fileshutil.copy(src, dst)#copy over the permissions,modificationshutil.copystat(src,dst)if __name__=="__main__":main()步驟4)您可以獲取有關上次修改的文本文件的信息
- 代碼行15-得到.txt文件最后修改的日期,月份,年份和時間。 我們使用path模塊獲取文件修改的詳細信息,然后使用time.ctime() 函數將其轉換為可讀時間。
- 代碼行17-提供有關文件修改的信息的功能相同,但表示格式不同。 在這里,我們使用datetime.datetime.fromtimestamp。 在輸出中,您可以看到文件修改時間詳細信息以不同的格式打印輸出2018-01-08, 13:35:51.334072
這是代碼
## Example file for working with o.s path moduleimport osfrom os import pathimport datetimefrom datetime import date, time, timedeltaimport timedef main(): # Get the modification time t = time.ctime(path.getmtime("guru99.txt.bak")) print(t) print(datetime.datetime.fromtimestamp(path.getmtime("guru.txt.bak")))if __name__ == "__main__": main()摘要
使用shutil.copy (src,dst) 創建現有文件的副本
使用shutil.copystat(src,dst)將原始文件的所有信息復制到重復文件中,例如文件許可權,修改時間或元數據信息
總結
以上是生活随笔為你收集整理的copy 修改时间_DAY5-step3 Python用shutil.copy(), shutil.copystat()复制文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: qq网名小数字怎么打
- 下一篇: boss武藏怎木打