sentence = "ASK NOT WHAT YOUR COUNTRY CAN DO FOR YOU ASK WHAT YOU CAN DO FOR YOUR COUNTRY"
s=sentence.split()
positions = [s.index(x)+1 for x in s]
print(sentence)
print(positions)
with open('task_2.json', 'w') as f:
f.write(str(positions))
f.write(str(sentence))
f.close()
在这项任务中,我必须开发一个程序,识别句子中的单个单词,将它们存储在一个列表中,并用原始句子中的每个单词替换列表中单词的位置。然后必须压缩位置并将其发送到文件。我已经设法完成了以上所有内容,但我很难理解"打开"部分。我试过使用" open"并且代码出现语法错误。所以,如果有人能够向我解释关键字"与"在这种情况下,我们将非常感激。
答案 0 :(得分:0)
with
会创建context manager,当close()
下的缩进代码完成时,{{3}}将自动with
您的文件对象。例如:
with open('task_2.json', 'w') as f:
f.write(str(positions))
f.write(str(sentence))
print(f.closed)
将打印True
,同时:
f = open('task_2.json', 'w')
f.write(str(positions))
f.write(str(sentence))
print(f.closed)
将打印False
,并且需要使用f.close()
手动关闭该文件以释放系统资源。
答案 1 :(得分:0)
缩进代码运行后with open('task_2.json', 'w') as f:
关闭文件。这意味着您不需要f.close()
行。在python中使用with
语句只是一种更安全的文件处理方式。