这是我的节目:
filetest = open ("testingfile.txt", "r+")
ID = input ("Enter ID: ")
list = ['Hello', 'Testing', 'File', 543210]
for line in filetest:
line = line.rstrip ()
if not ID in line:
continue
else:
templine = '\t'.join(map(str, list))
filetest.write (line.replace(line, templine))
filetest.close ()
我正试图用templine替换包含在filetest中输入的ID的整行(templine是一个连接到带制表符的字符串中的列表),我认为我的代码的问题特别是这部分filetest.write (line.replace(line, templine))
,因为当我运行程序时,文件中包含ID的行不会被替换,而是被templine
将添加到行的末尾
例如,如果使用输入的ID在filetest中找到的行是"Goodbye\tpython,"
,现在它变成了"Goodbye\tpythonHello\tTesting\tFile\t543210"
,这不是我想要的。如何确保行"Goodbye\tpython"
被templine
{
在读取文件时,文件指针也会移动,这可能会导致问题。我要做的是首先读取文件并准备您想要的“新文件”,然后将其写入文件,如下面的代码所示:
我没有更改代码的逻辑,但是请注意,如果您的文件有一行,例如,一行是数字“56”,另一行是数字“5”,并且您输入ID“5”,那么代码将替换这两行
相关问题 更多 >
编程相关推荐