当前位置: 代码迷 >> python >> 在Python中使用With的语法无效
  详细解决方案

在Python中使用With的语法无效

热度:33   发布时间:2023-06-27 21:50:07.0

以下代码打开一个文件,搜索一个单词或短语,然后在数组中打开该文件,然后在单词或短语之后添加两个新对象,然后将其重新写入文件中,with语句不起作用,当编译后会产生语法错误,指出文件= open(...)'='无效,但它是赋值运算符。 救命?

def edit(file_name,search_parameters,added_data,second_data):

    with(file = open(file_name,'r')):
        lines = list(file)
        file.close()
    linenum = (num for (num,line) in enumerate(lines) if search_parameters in line).next()
    lines[linenum+1] = added_data
    lines[linenum+1] = second_data

    with (file2 = open(file_name,"w")):
        file2.writelines(line + '\n' for line in lines)
        file2.close()

您需要使用as关键字:

with open(file_name,'r') as file:

with open(file_name,"w") as file2:

这是有关的参考。


另外,这两行不是必需的:

file.close()

file2.close()

使用with语句打开文件将导致在退出with语句的代码块时自动关闭文件。 实际上,这是您使用with语句打开文件的唯一原因。

  相关解决方案