Python File文件处理 读取文件(read)

Python中,读取文件是一个常见的操作,通常用于从文件中获取数据。Python提供了多种方法来读取文件内容,包括一次性读取整个文件、逐行读取文件以及按需读取文件内容。本文主要介绍Python中打开一个文件读取文件中数据的方法。

1、打开一个文件读取数据

如有以下文件,位于与Python相同的文件夹中:

demofile.txt

# 写入示例文件
with open('example.txt', 'w') as file:
    file.write("这是第一行文本。\n")
    file.write("这是第二行文本。\n")
    file.write("这是第三行文本。\n")  
    file.write("www.cjavapy.com \n")
    file.write("Python 文件读取示例结束。\n")

print("文件 'example.txt' 已生成。")

要打开文件,请使用内置的open()函数。

open()函数返回一个文件对象,该对象具有用于读取文件内容的read()方法:

例如:

# 写入示例文件
with open('example.txt', 'w') as file:
    file.write("这是第一行文本。\n")
    file.write("这是第二行文本。\n")
    file.write("这是第三行文本。\n")  
    file.write("www.cjavapy.com \n")
    file.write("Python 文件读取示例结束。\n")

print("文件 'example.txt' 已生成。")

# 打开文件
with open('example.txt', 'r') as file:
    # 读取整个文件内容
    content = file.read()

# 输出文件内容
print(content)

如果文件位于其他位置,则必须指定文件路径,如下所示:

例如:

在其他位置打开文件:

f = open("D:\\myfiles\welcome.txt", "r")
print(f.read())

2、read读取文件中部分数据

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

例如:

返回文件的前5个字符:

# 写入示例文件
with open('example.txt', 'w') as file:
    file.write("这是第一行文本。\n")
    file.write("这是第二行文本。\n")
    file.write("这是第三行文本。\n")  
    file.write("www.cjavapy.com \n")
    file.write("Python 文件读取示例结束。\n")

print("文件 'example.txt' 已生成。")

# 打开文件
with open('example.txt', 'r') as file:
    # 读取整个文件内容
    content = file.read(5)

# 输出文件内容
print(content)

3、readline()读取一行

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

例如:

读取文件的一行:

# 写入示例文件
with open('example.txt', 'w') as file:
    file.write("这是第一行文本。\n")
    file.write("这是第二行文本。\n")
    file.write("这是第三行文本。\n")  
    file.write("www.cjavapy.com \n")
    file.write("Python 文件读取示例结束。\n")

print("文件 'example.txt' 已生成。")

# 打开文件
with open('example.txt', 'r') as file:
    # 每次读取一行内容
    content = file.readline()

# 输出文件内容
print(content)

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

例如:

读取文件中的两行:

# 写入示例文件
with open('example.txt', 'w') as file:
    file.write("这是第一行文本。\n")
    file.write("这是第二行文本。\n")
    file.write("这是第三行文本。\n")  
    file.write("www.cjavapy.com \n")
    file.write("Python 文件读取示例结束。\n")

print("文件 'example.txt' 已生成。")

# 打开文件
with open('example.txt', 'r') as file:
    # 每次读取一行内容
    content = file.readline()
    # 输出文件内容
    print(content)
    content = file.readline()
    # 输出文件内容
    print(content)

通过遍历文件的每一行,可以逐行读取整个文件:

例如:

逐行循环遍历文件:

# 写入示例文件
with open('example.txt', 'w') as file:
    file.write("这是第一行文本。\n")
    file.write("这是第二行文本。\n")
    file.write("这是第三行文本。\n")  
    file.write("www.cjavapy.com \n")
    file.write("Python 文件读取示例结束。\n")

print("文件 'example.txt' 已生成。")

# 打开文件
with open('example.txt', 'r') as file:
    for f in file:
        # 输出文件内容
        print(f)

4、close和with语句关闭文件

closewith语句都可以关闭文件,with语句确保文件操作完成后,自动关闭文件,即使在操作过程中发生了异常。代码更加简洁,无需显式调用close()方法。用close()时,需要确保无论文件操作是否成功,文件都能被关闭。这通常通过try...finally块来实现。用close()时,需要确保无论文件操作是否成功,文件都能被关闭。这通常通过try...finally块来实现。

例如:

1)使用with语句打开和关闭文件

with open('example.txt', 'r') as file:
    content = file.read()
    print(content)
# 在这里,文件已经自动关闭了

2)使用close()方法手动关闭文件

file = open('example.txt', 'r')
try:
    content = file.read()
    print(content)
finally:
    file.close()  # 手动关闭文件

注意:应该始终关闭文件,在某些情况下,由于缓冲的原因,只有在关闭文件后才能显示对文件所做的更改。

推荐阅读
cjavapy编程之路首页