代码显示多进程实现文件的备份,要求:1,通过输入指定复制源和目的文件夹;2,显示复制所用时间
时间: 2024-05-03 09:20:04 浏览: 81
。好的,这是一个比较简单的问题,使用多进程可以提高文件备份的效率,以下是示例代码:
```python
import os
import time
import shutil
from multiprocessing import Process
def copy_file(source_folder, target_folder):
"""
复制文件的函数
"""
start_time = time.time()
files = os.listdir(source_folder)
for file in files:
source_file = os.path.join(source_folder, file)
target_file = os.path.join(target_folder, file)
if os.path.isfile(source_file):
shutil.copy(source_file, target_file)
end_time = time.time()
print(f"Using time {end_time-start_time:.2f}s for copying.")
if __name__ == "__main__":
source_folder = input("Source folder: ")
target_folder = input("Target folder: ")
p = Process(target=copy_file, args=(source_folder, target_folder))
p.start()
p.join()
```
你可以通过输入源和目的文件夹来指定复制的文件,然后我们使用 `os.listdir` 获取源文件夹中的文件列表,遍历每一个文件,判断是否为文件夹,如果是则进行递归复制,否则直接调用 `shutil.copy` 函数复制文件。在多进程中运行,可以大大缩短复制的时间,提高备份效率。
阅读全文