下面是Python利用os模块编写文件复制功能的攻略:
1. os模块简介
os
模块是Python标准库中用于与操作系统交互的模块,提供了许多操作文件、目录等常见任务的函数。
2. 利用os模块复制文件
Python提供了shutil
模块和os
模块的copy()
函数,可以用于文件的复制。
2.1 shutil模块
shutil
模块是Python标准库中用于文件操作的模块,其中shutil.copy()
函数可以复制一个文件到指定目录。
import shutil
# 复制文件
shutil.copy('source.txt', 'target.txt')
shutil.copy()
函数有两个参数,第一个参数是要复制的源文件的路径,第二个参数是复制到的目标文件路径。如果目标文件已经存在,则覆盖其原有内容。
2.2 os模块
os
模块同样提供了copy()
函数,用于操作文件的拷贝。
import os
# 复制文件
os.copy('source.txt', 'target.txt')
os.copy()
函数也接收两个参数,分别是源文件路径和目标文件路径。与shutil.copy()
不同的是,即使目标文件已经存在,os.copy()
也不会覆盖原有内容,而是抛出FileExistsError
异常。
需要注意的是,os.copy()
只能复制文件,而不能复制文件夹。
3. 完整示例
下面是一个完整的示例程序,演示了使用os
模块实现文件复制的过程:
import os
def copy_file(source_file, target_file):
'''复制文件'''
try:
with open(source_file, 'rb') as f_source:
with open(target_file, 'wb') as f_target:
while True:
# 一次复制1KB数据
data = f_source.read(1024)
if not data:
break
f_target.write(data)
print(f'复制文件 {source_file} 到 {target_file} 成功!')
except FileNotFoundError:
print(f'源文件 {source_file} 不存在!')
except Exception as e:
print(f'复制文件 {source_file} 到 {target_file} 失败,错误信息:{str(e)}')
if __name__ == '__main__':
# 复制文件
copy_file('source.txt', 'target.txt')
在这个示例中,copy_file()
函数实现了对文件的复制。它首先使用with open()
语句打开源文件和目标文件,接着循环读取源文件的数据,每次读取1KB的数据,并将这些数据写入目标文件。最后,如果复制过程中发生了错误,将会捕获异常并输出错误信息。
希望能对您有所帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python利用os模块编写文件复制功能——copy()函数用法 - Python技术站