返回
文本文件不同行读写详解:Python代码实现
python
2024-03-01 10:22:31
如何有效地写入和读取文本文件中的不同行
文本文件广泛用于存储和管理各种数据。在某些情况下,需要能够在文本文件中的不同行中写入和读取特定信息。本文将详细介绍如何实现这一操作,并提供一个使用Python代码的示例。
创建和写入文本文件
为了在文本文件中写入不同行,可以使用Python中的open()函数。该函数接收两个参数:要创建或打开的文件的名称和打开模式。对于写入,模式应为'w'。
file = open('acc_data.txt', 'w')
在打开文件后,可以使用write()方法在不同的行中写入数据。write()方法接收一个字符串作为参数,该字符串将被写入文件。可以通过在字符串末尾添加换行符'\n'来创建新行。
从文本文件中读取不同行
要从文本文件中读取不同行,可以使用readline()方法。该方法将从文件当前位置读取一行并返回一个字符串。为了读取特定行,可以使用一个循环并指定要读取的行号。
file = open('acc_data.txt', 'r')
username = file.readline()[:-1] # 去除换行符
password = file.readline()[:-1] # 去除换行符
请注意,当使用readline()方法时,读取指针会自动移动到下一行。这意味着在循环中读取多行时,应小心读取指针的位置。
代码示例
以下是一个使用Python代码的示例,展示了如何在文本文件中写入和读取不同行的操作:
# 创建一个用于存储账户数据的文本文件
file = open('acc_data.txt', 'w')
# 1. 创建账户
def make_acc():
username = input('请输入用户名:')
password = input('请输入密码:')
# 将用户名写入文本文件的第一行
file.write(username + '\n')
# 将密码写入文本文件的第一行
file.write(password + '\n')
# 2. 登录账户
def login():
input_user = input('请输入用户名:')
input_pass = input('请输入密码:')
# 重新打开文本文件,用于读取
file = open('acc_data.txt', 'r')
# 读取文本文件的第一行,即用户名
username = file.readline()[:-1] # 去除换行符
# 读取文本文件的第二行,即密码
password = file.readline()[:-1] # 去除换行符
# 验证输入的用户名和密码
if input_user == username and input_pass == password:
print('登录成功!')
else:
print('登录失败,用户名或密码错误!')
# 根据用户的选择执行相应操作
acc_bool = input('是否已有账户?(y/n):')
if acc_bool == 'y':
login()
elif acc_bool == 'n':
make_acc()
login()
else:
print('输入错误,请重新输入!')
总结
通过使用open()和readline()方法,可以轻松地在文本文件的不同行中写入和读取数据。这对于存储和管理各种类型的信息非常有用,例如用户信息、设置和其他数据。在编写文件时,应考虑使用适当的模式,并在读取文件时注意读取指针的位置。