需求: 用代码的方式来实现文件复制过程。(把源文件复制到一个新的文件中)

一、复制小文件

打开一个已有文件,读取完整内容,并写入到另外一个文件。

1.1》复制小文件具体步骤

  1. 使用open函数打开两个文件,一个是源文件,一个是目标文件,原文件只读方式打开,目标文件只写方式打开
  2. 使用read方法一次性把源文件内容读取出来,然后把读取内容直接写入到目标文件中
  3. 关闭源文件和目标文件

1.2》 代码示例

准备一个源文件,内容如下:

代码:

# 1.打开文件 file_read = open("HELLO", encoding="UTF_8") # 只读方式 file_write = open("HELLO(复件)", "w", encoding="UTF_8") # 只写方式 # 2. 读、写 text = file_read.read() file_write.write(text) # 3. 关闭文件 file_read.close() file_write.close()

注意:不写encoding="UTF_8"能打开表示Python编码没错误,不用我这样加上这个编码代码。

执行结果:


二、复制大文件

  • 大文件不适合用一次性读取,因为源文件太大一次性读取会给内存造成太大的压力
  • 打开一个已有文件,逐行读取完整内容,并顺序写入到另外一个文件中

2.1》复制大文件具体步骤

和上面复制小文件步骤很相似,只需要修改第二步

1、使用open函数打开两个文件,一个是源文件,一个是目标文件,原文件只读方式打开,目标文件只写方式打开

2、使用无限循环并判断一行一行读取代码,使用readline()把源文件内容逐行读取出来,然后把读取内容顺序直接写入到目标文件中

3、关闭源文件和目标文件

2.2》代码示例

准备工作:准备一组源文件数据

代码:

# 1.打开文件 file_read = open("HELLO", encoding="UTF_8") # 只读方式 file_write = open("HELLO(复件)", "w", encoding="UTF_8") # 只写方式 # 2. 读、写 while True: text = file_read.readline() # 判断是否读取到内容 if not text: break file_write.write(text) # 3. 关闭文件 file_read.close() file_write.close()

执行结果:查看复件内容

对上面提到的打开open()、关闭close()、读read()、写writ()、逐行读取readline()这五种文件操作方法/函数不理解不知道的话可以去看之前一篇Python文件操作。


分享网站:《Python自学网http://www.wakey.com.cn/

基础入门到逐步深入 | 适合新手入门到精通 | 体系课程:Web开发、爬虫、图形界面化、自动化(运维、测试)