Python(十三)文件处理

在Python中使用文件的关键函数是open()函数
open()函数有两个参数:文件名和模式
有四种打开文件的不同方法:

  • r - 读取 - 默认值。打开文件进行读取,如果文件不存在则报错。
  • a - 追加 - 打开供追加的文件,如果不存在则创建该文件。
  • w - 写入 - 打开文件进行写入,如果文件不存在则创建该文件。
  • x- 创建 - 创建指定的文件,如果文件存在则返回错误。

还可以指定文件是应该作为二进制还是文本模式进行处理:

  • t - 文本 - 默认值
  • b - 二进制
f = open("data.txt")
f = open("data.txt", "rt")

以上两种写法一样,r是读取,t是文本默认
注意:要确保文件存在,否则系统会报错

打开文件读取内容

例如有一段文字:

Hello! My name is Tom.
I write this file.
This file is for testing purposes.
Good Luck!

使用内置函数open()返回文件对象,使用函数read()读取文件内容

f = open("data.txt", "r")
print(f.read())

在这里插入图片描述

只读取文件的一部分

默认情况下,read() 方法返回整个文本,但您也可以指定要返回的字符数:

f = open("data.txt", "r") 
print(f.read(5)) 

在这里插入图片描述

读行

可以使用readline()方法返回一行

f = open("data.txt", "r") 
print(f.readline()) 

在这里插入图片描述

通过两次调用readline(),可以读取前两行

f = open("data.txt", "r") 
print(f.readline()) 
print(f.readline()) 

在这里插入图片描述

通过循环遍历文件中的行,逐行读取整个文件

f = open("data.txt", "r") 
for x in f:   
    print(x) 

在这里插入图片描述

关闭文件

完成后始终关闭文件是一个好习惯

f = open("data.txt", "r") 
print(f.readline()) 
f.close() 

在这里插入图片描述

**注:**在某些情况下,由于缓冲,应该始终关闭文件,在关闭文件之前,对文件所做的更改可能不会显示。

学习技术交流群:704807680

写入已有文件

如写入已有的文件,必须向open()函数添加参数:

  • a- 追加 - 会追加到文件的末尾
  • w- 写入 - 会覆盖任何已有的内容
f = open("data.txt", "a")
f.write("Now the file has more content!")
f.close()
f = open("data.txt", "r")
print(f.read())

在这里插入图片描述

f = open("demofile3.txt", "w")
f.write("Woops! I have deleted the content!")
f.close()
f = open("demofile3.txt", "r")
print(f.read())

在这里插入图片描述

注意:w方法会覆盖全部内容

创建新文件

如在 Python 中创建新文件,使用open()方法,并使用以下参数之一:

  • x- 创建 - 将创建一个文件,如果文件存在则返回错误
  • a- 追加 - 如果指定的文件不存在,将创建一个文件
  • w - 写入 - 如果指定的文件不存在,将创建一个文件
f = open("data.txt", "x") 

**结果:**已创建新的空文件!

f = open("data.txt", "w")

删除文件

如需删除文件,必须导入 OS 模块,并运行os.remove()函数

import os 

os.remove("data.txt") 

检查文件是否存在

为避免出现错误,需要在删除文件之前检查该文件是否存在

import os 

if os.path.exists("data.txt"):   
    os.remove("data.txt") 
else:   
    print("The file does not exist") 

删除文件

如果删除整个文件夹,使用os.rmdir()方法

import os 

os.rmdir("mytest") 

**注意:**只能删除空文件夹。

学习技术交流群:704807680

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值