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.复制文件

复制一般文件:

扫描二维码关注公众号,回复: 10462778 查看本文章
# 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))

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


结束!!!

发布了129 篇原创文章 · 获赞 83 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/qq_32306361/article/details/105098127