Python 初学者练习:复制文件_python中的复制

liftword3个月前 (03-01)技术文章33

在本教程中,您将学习如何使用 os、shutil 模块中提供的各种函数将文件和文件夹从一个位置复制到另一个位置。

在 Python 中使用 copy() 复制文件

复制文件可以使用 shutil 模块的 copy()方法。

import shutil
src_path=r"C:\temp1\abc.txt"
dst_path=r"C:\temp2\\"
shutil.copy(src_path,dst_path)
print('复制完毕!')

在 Python 中使用 copyfile() 复制文件

import shutil
src_path=r"C:\temp1\abc.txt"
dst_path=r"C:\temp2\abc2.txt"
shutil.copy(src_path,dst_path)
print('复制完毕!')

「copy()、copyfile()区别:」

copy()可以复制文件,还可以在复制时设置权限,而 copyfile() 只复制数据。

如果目标是目录,则 copy() 将复制文件,而 copyfile() 会失败。

复制文件夹中的所有文件

有时我们想将所有文件从一个文件夹复制到另一个文件夹。需要使用 os.listd()方法获取源文件夹中所有文件的列表。使用 for 循环遍历列表以获取各个文件名,使用 shutil.copy()方法复制文件。

import os
import shutil
src_path=r"C:\temp1\\"
dst_path=r"C:\temp2\\"
for file_name in os.listdir(src_path):
    source=src_path+file_name
    destination=dst_path+file_name
    if os.path.isfile(source):
        shutil.copy(source,destination)
        print('复制完成:',file_name)

复制整个文件夹

需要复制整个文件夹,包括包含的所有文件和子文件夹。使用 shutil 模块的 copytree()方法以递归方式进行复制。

import shutil
src_path=r"C:\temp1"
dst_path=r"C:\temp2"
shutil.copytree(src_path, dst_path)
print("复制完成!")

使用 os.popen()方法复制文件

Python os 模块提供了可在不同操作系统中互操作的功能。

「在 Unix 上:」

import os
src_path=r"/Users/temp1"
dst_path=r"/Users/temp2"
os.popen('cp src_path\abc.txt dst_path\abc.txt')
print("复制完成!")

「windows」

import os
src_path=r"C:\temp1\\"
dst_path=r"C:\temp2\\"
os.popen('copy src_path\abc.txt dst_path\abc.txt')
print("复制完成!")

「文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!」

相关文章

用Python复制文件的9个方法_python怎么复制文件到另一个地方

Python 中有许多“开盖即食”的模块(比如 os,subprocess 和 shutil)以支持文件 I/O 操作。在这篇文章中,你将会看到一些用 Python 实现文件复制的特殊方法。下面我们开...

python每日一练之如何copy_python中copy用法

概述今天主要来看看Python中的浅拷贝和深拷贝内容,这里用一个实例来说明~需求:将一个列表的数据复制到另一个列表中。思路:使用列表[:],拿不准可以调用copy模块。实现方法:#!/usr/bin/...

文件备份用Python,照着复制粘贴代码就可以了

引言在日常开发和运维工作中,数据安全尤为重要,定期备份重要文件是防范数据丢失的有效手段之一。本文将详细介绍如何使用Python实现一个简单的定时备份脚本,该脚本可以按照设定周期自动将指定文件夹或文件复...

linux下文件和目录的拷贝或移动_linux目录拷贝命令

05.linux下文件和目录的拷贝或移动Treetree命令可以以树状图列出文件目录结构使用 -d 选项只显示目录直接使用tree命令显示当前目录的结构;使用tree [目录名]可以显示指定目录的目录...

Python浅拷贝深拷贝之copy、deepcopy

笔记记录20221205:个人总结:1,两者基本区别不大;2,在涉及到子对象时候,两者才有区别;3,在涉及到子对象,且子对象的操作后内存地址没有发生变化(如下方代码:dic1['one'].appen...