柯克舰长 发表于 2023-6-5 15:39:12

为什么不封装函数会导致文档内容无法保存

file_name = input('name:')
f = open(file_name,'w')
while True:
    file_content = input()
    if file_content != ':w':
      f.write('%s\n' % file_content)
    else:
      break
f.close

这段程序生成的文件为什么无法保存内容

柯克舰长 发表于 2023-6-5 15:41:08

求助大佬

柯克舰长 发表于 2023-6-5 15:44:12

是我的close没加()

sfqxx 发表于 2023-6-5 18:10:33

这段程序生成的文件无法保存内容的原因在于 `f.close` 应该被调用为函数,以此来关闭文件。但是在这里,`f.close` 没有被调用为函数,只是一个指向函数的名称。因此,程序并没有执行正确的文本写入操作。

修复此错误的方法是,在“f.close”之后添加一对小括号。更改后的代码应该如下所示:


file_name = input('name:')
f = open(file_name,'w')
while True:
    file_content = input()
    if file_content != ':w':
      f.write('%s\n' % file_content)
    else:
      break
f.close()

现在,当程序遇到“f.close()”时,它将作为一个函数调用,并正常关闭文件,使得内容可以被保存。

给个最佳答案呗{:10_254:}
页: [1]
查看完整版本: 为什么不封装函数会导致文档内容无法保存