Python 是當今世界最流行的編程語言之一,它在處理文件和目錄時具有高效的能力。在進行大規模的文件拷貝操作時,拷貝進度條是非常有用的工具。下面這份 Python 的示例代碼可以實現文件拷貝進度條功能。
import shutil import os import sys def copy_with_progress(src_file, dst_file): """ 復制文件 :param src_file: 原始文件 :param dst_file: 目標文件 :return: """ chunk_size = 1024 * 1024 # 1MB total_size = os.path.getsize(src_file) copied_size = 0 with open(src_file, 'rb') as src, open(dst_file, 'wb') as dst: while True: chunk = src.read(chunk_size) if not chunk: break dst.write(chunk) copied_size += len(chunk) progress_percentage = min(100, int(copied_size / total_size * 100)) print('\r {0}% {1}/{2}'.format(progress_percentage, copied_size, total_size), end='') def main(): if len(sys.argv)< 3: print("Usage: python {0} src_file dst_file".format(sys.argv[0])) sys.exit(-1) src_file = sys.argv[1] dst_file = sys.argv[2] if os.path.isfile(dst_file): print("Error: destination file already exists") sys.exit(-1) copy_with_progress(src_file, dst_file) print("\nCopy completed: {0} =>{1}".format(src_file, dst_file)) if __name__ == '__main__': main()
上述代碼中使用了 Python 自帶的 shutil 庫和 os 庫,通過打開源文件和目標文件,讀取源文件內容并寫入目標文件與拷貝后的已拷貝大小差異來實現拷貝進度條的功能。使用這份代碼可以在進行文件的拷貝操作時,清晰地了解操作的進度,并及時發現可能存在的錯誤。
上一篇html怎么代碼高亮
下一篇python 拷貝類對象