不是 你存的filename是个字符串。
with 之后才会写文件。
书上代码中标号1语句是指,定义一个文件名字符串变量,作为要存储数据的文件名,此时文件并没有写入,数值列表也没有存储到文件中。所以需要后面用with open语句打开要保存的文件,以及将数据列表写入文件的语句。
numbers=[2,3,5,7,11,13]
filename="numbers.json" 这个只是定义一个字符串变量,
变量内容是一个文件名"numbers.json"的字符串,这里只是定义变量,"numbers.json"字符串中的numbers与上边的numbers数字列表没有关系,只是恰好同名而已。
之后的 with open(filename,'w') as f:是用"numbers.json"这个文件名创建文件。
最后的 json.dump(numbers,f)才是把numbers数字列表写到文件中。
如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮
标号1只是定义个变量,这个变量表示了有这个文件名;
后面 with open才是真正打开文件的操作;
dump是实施写入的操作;;
有疑问,欢迎来交流。