Python快速入门(十一)文件:读取、打开、写入、复制、eval函数

Python快速入门(十一)文件:读取、打开、写入、复制、eval函数


前言:主要介绍Python文件的读取、打开、写入、复制以及eval函数的使用。


1.read读取文件

  • open 函数的第一个参数是要打开的文件名(文件名区分大小写),如果文件存在,返回文件操作对象,如果文件 不存在,会抛出异常。
  • read 方法可以一次性 读入 并 返回 文件的 所有内容
  • close 方法负责关闭文件。
  • 注意1:如果忘记关闭文件,会造成系统资源消耗,而且会影响到后续对文件的访问。
  • 注意2:read方法执行后,会把文件指针移动到文件的末尾。

代码:

# 打开文件
file = open("README")

# 读取文件内容
text = file.read()
print(text)

# 关闭文件
file.close()

输出:
在这里插入图片描述

  • 注意3:读取文件后文件指针会改变

代码:

# 1. 打开文件
file = open("README")

# 2. 读取文件内容
text = file.read()
print(text)
print(len(text))
print("-" * 50)
text = file.read()
print(text)
print(len(text))
# 3. 关闭文件
file.close()

输出:
在这里插入图片描述

2.打开文件的方式

  • r:以只读方式打开文件。文件的指针将会放在文件的开头,这是默认模式。如果文件不存在,抛出异常。
  • w:以只写方式打开文件。如果文件存在会被覆盖。如果文件不存在,创建新文件。
  • a:以追加方式打开文件。如果该文件已存在,文件指针将会放在文件的结尾。如果文件不存在,创建新文件进行写入。
  • r+:以读写方式打开文件。文件的指针将会放在文件的开头。如果文件不存在,抛出异常。
  • w+:以读写方式打开文件。如果文件存在会被覆盖。如果文件不存在,创建新文件。
  • a+:以读写方式打开文件。如果该文件已存在,文件指针将会放在文件的结尾。如果文件不存在,创建新文件进行写入。
  • 提示:频繁的移动文件指针,会影响文件的读写效率,开发中更多的时候会以 只读、只写 的方式来操作文件。

3.分行读取文件内容

  • read 方法默认会把文件的 所有内容 一次性读取到内存,如果文件太大,对内存的占用会非常严重。
  • readline 方法可以一次读取一行内容,方法执行后,会把 文件指针 移动到下一行,准备再次读取。

代码:

file = open("README")

while True:
    text = file.readline()
    # 判断是否读取到内容
    if not text:
        break

    print(text)

file.close()

在这里插入图片描述
输出:
在这里插入图片描述

4.写入文件

代码:

# 打开
file = open("README", "a")
# 写入文件
file.write("123 hello")
# 关闭
file.close()

输出:
在这里插入图片描述

5.复制文件

复制一般文件:

# 1. 打开
file_read = open("README")
file_write = open("REAMDE[复件]", "w")

# 2. 读、写
text = file_read.read()
file_write.write(text)

# 3. 关闭
file_read.close()
file_write.close()

复制大文件:

# 1. 打开
file_read = open("README")
file_write = open("REAMDE[复件]", "w")

# 2. 读、写
while True:
    # 读取一行内容
    text = file_read.readline()

    # 判断是否读取到内容
    if not text:
        break

    file_write.write(text)

# 3. 关闭
file_read.close()
file_write.close()

6.eval 函数

  • eval() 函数十分强大 —— 将字符串 当成 有效的表达式 来求值 并 返回计算结果。

代码:

input_str = input("请输入算术题:")
print(eval(input_str))

输出:
在这里插入图片描述


结束!!!

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

等待着冬天的风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值