注册 登录
编程论坛 Python论坛

文件读写问题

airtobreath 发布于 2010-08-25 16:34, 802 次点击
我对一个文件进行读,进行修改后重新写入这个文件,结果是追加写而不是覆盖写,请问要覆盖写还怎么办?不想用一个文件读,一个文件写。代码如下:
程序代码:
def sort():
    content = "%s\t%s\n"
    with open("start.txt", "wb+") as starttxt:
        for sLine in starttxt.readlines():
            sLine = sLine.strip().split("\t")
            field = content % (sLine[0], sLine[1])
            starttxt.write(field.decode("GBK").encode("utf8"))

 
3 回复
#2
外部三电铃2010-08-28 18:10
starttxt.write怎么可以写在循环里?这程序写的太乱了


[ 本帖最后由 外部三电铃 于 2010-8-28 18:20 编辑 ]
#3
a5152002010-09-01 20:44
with语句。他只是试图打开文件并将他赋值给变量starttxt,  我对这个语句不是很了解。不过他并不能提供对文件操作的正常功能    正常的打开文件和读写操作都应该使用open函数

你这个程序的错误在于使用wtih语句  使用open函数进行 wb+就不会产生错误了
#4
nm_00112012-07-09 16:25
def sort():
    content = "%s\t%s\n"
    contents = []
    starttxt = open("start.txt", "rwb+")
        for sLine in starttxt.readlines():
            sLine = sLine.strip().split("\t")
            field = content % (sLine[0], sLine[1])
            contents.append(field.decode("GBK").encode("utf8"))
        starttxt.seek(0,os.SEEK_SET )
        for con in contents:
           starttxt.write(con)
     starttxt.close()



      
1