airtobreath 发表于 2010-8-25 16:34

文件读写问题

我对一个文件进行读,进行修改后重新写入这个文件,结果是追加写而不是覆盖写,请问要覆盖写还怎么办?不想用一个文件读,一个文件写。代码如下:[code][color=#0000FF]def[/color] sort():
    content = [color=#800000]"[/color][color=#800000]%s\t%s\n[/color][color=#800000]"[/color]
    with open([color=#800000]"[/color][color=#800000]start.txt[/color][color=#800000]"[/color], [color=#800000]"[/color][color=#800000]wb+[/color][color=#800000]"[/color]) as starttxt:
        [color=#0000FF]for[/color] sLine [color=#0000FF]in[/color] starttxt.readlines():
            sLine = sLine.strip().split([color=#800000]"[/color][color=#800000]\t[/color][color=#800000]"[/color])
            field = content % (sLine[0], sLine[1])
            starttxt.write(field.decode([color=#800000]"[/color][color=#800000]GBK[/color][color=#800000]"[/color]).encode([color=#800000]"[/color][color=#800000]utf8[/color][color=#800000]"[/color]))[/code]

外部三电铃 发表于 2010-8-28 18:10

starttxt.write怎么可以写在循环里?这程序写的太乱了


[[i] 本帖最后由 外部三电铃 于 2010-8-28 18:20 编辑 [/i]]

a515200 发表于 2010-9-1 20:44

with语句。他只是试图打开文件并将他赋值给变量starttxt,  我对这个语句不是很了解。不过他并不能提供对文件操作的正常功能    正常的打开文件和读写操作都应该使用open函数

你这个程序的错误在于使用wtih语句  使用open函数进行 wb+就不会产生错误了

页: [1]

编程论坛