我一直在努力编写一个简单的东西来管理项目。我坚持的是编辑功能。
def edit_assignment():
check()
if os.path.exists(fdir):
list_assignment()
file = open(fdir,'r+')
list = file.readlines()
line_edit = int(raw_input('line to edit: '))
list[line_edit] = 'x'
new_list = "\r\n".join(list)
file.write(new_list)
file.close()
else:
print 'error'
这是相关部分。
当我运行它时,会发生什么,而不是重写文件,它有点混合两者。我不明白我做错了什么,任何帮助都将不胜感激。
答案 0 :(得分:1)
if os.path.exists(fdir):
lines = open(fdir, "r").readlines()
line_no = int(raw_input("line: "))
lines[line_no] = "x"
open(fdir, "w").write("".join(lines))
else:
print "error"
答案 1 :(得分:0)
您正在使用“r +”打开文件进行读写。在读取现有文件之后,所有进一步的写操作都将发生在文件指针的位置 - 这就是文件的结尾。这就是您获得检测到的行为的原因。
选项:
或