Python 如何用另一行替换一行?
我正在尝试创建一个带有命令行参数的联系人簿应用程序。这是迄今为止为更新特定联系人的新联系人详细信息而编写的代码Python 如何用另一行替换一行?,python,crud,Python,Crud,我正在尝试创建一个带有命令行参数的联系人簿应用程序。这是迄今为止为更新特定联系人的新联系人详细信息而编写的代码args.name包含联系人的姓名。并且args.number具有需要更新的新编号 如何更新整行?当我运行它时,它会用一个空字符串替换整个文件,contacts.txt。此功能也有助于删除功能 thefile = open("contacts.txt","w+") lines = thefile.readlines() for line in li
args.name
包含联系人的姓名。并且args.number
具有需要更新的新编号
如何更新整行?当我运行它时,它会用一个空字符串替换整个文件,contacts.txt
。此功能也有助于删除功能
thefile = open("contacts.txt","w+")
lines = thefile.readlines()
for line in lines:
if name in line:
line.replace(line,"Name: "+ args.name + " Number: "+args.number+ "\n")
当您用“w+”python打开文件时,请删除该文件!
首先要编写两个函数:一个写数据,另一个读数据
def reader():
f = open("MYFILE.txt", "r")
lines = f.readlines()
f.close()
return lines
def writer(data):
f = open("MYFILE.txt", "w")
for i in data:
f.write(i)
f.close()
然后,您可以按照自己的意愿实现以下内容:
lines = reader()
for i in range(len(lines)):
if lines[i] == "Something\n":
lines[i] = "New_Value\n"
writer(lines)
您可以首先从文件中读取数据,创建一个空字符串,有条件地将每一行附加到新创建的字符串,然后将新获得的字符串写入(替换)现有文件
f1 = open('contacts.txt','r')
data = f1.readlines()
f1.close()
new_data = ""
for line in data:
if name in line:
update = line.replace(line,"Name: "+ args.name + " Number: "+args.number+ "\n")
new_data += update
else:
new_data += line
f2 = open('contacts.txt','w')
f2.write(new_data)
f2.close()
您应该将所有文件内容加载到内存并用修补内容重写文件,或者将修补内容写入临时文件并替换原始文件。你只是把它加载到内存中,但没有写操作。我不清楚。你能提供一些代码吗?