Python不能覆盖fi

2024-09-28 05:27:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在从一个文件中读取,在其中添加一行,然后将其保存回。 在C中,这是可行的,但在Python中不行。谁能告诉我为什么吗?在

f = "blogs/%s.comment" % blogtitle
if os.path.isfile(f):
    temp = file(f).readlines()
    temp.append(comment)

    overr = open(f, "w") #line 13
    for l in temp: overr.write(l)

我得到的错误是第13行的IOError: [Errno 13] Permission denied

我在Apache中以.wsgi的形式运行此文件,并在存储该文件的文件夹中拥有775权限。在


Tags: 文件pathifoslinecommentopentemp
2条回答

你没有close文件。您应该在with语句中打开文件以处理关闭操作。另外,只需在append模式下打开文件,而不是读取整个文件并将其写回原处,会更简单、更高效:

path = "blogs/%s.comment" % blogtitle
with open(path, 'a') as f:
    f.write(comment)

第一次打开文件后,您忘记关闭它,请执行以下操作:

f = "blogs/%s.comment" % blogtitle
if os.path.isfile(f):
    with open(f, 'r') as fl:
        temp = fl.readlines()
        temp.append(comment)

    with open(f, "w") as fl:
        for l in temp: fl.write(l)

相关问题 更多 >

    热门问题