vscode调试器和从cmd运行不一样



我有这样的代码:

f = open('a.txt', 'a')
f.write('benis')
f.close()
f = open('a.txt', 'r')
print(f.read())
f.close()

当我通过调试器运行它时,我一直得到这个:

run1) benis
run2) benisbenis
...

一切看起来还好吗?

但是我在.txt中有这个:"样品";

当我通过cmd:运行它时

run1) samplebenis
run2) samplebenisbenis

但是,我还有更多

如果我通过cmd运行它,它会像预期的那样工作。Txt每次都会更新。更新保存在其中。

如果我通过调试器运行它,它会保存他自己的";a.txt";。。。但我不知道在哪里。即使在电脑重新启动后,它仍然存在于内存中。Idk,这个目录中没有新文件,根本没有

情况说明。现在,问题

如何正常调试?在VScode保持的地方;a.txt";?

(也许有人可以在评论中说,我应该打开文件写,然后关闭,然后打开阅读,然后关闭吗?或者我可以只打开一个文件?(

在调试器和命令行中运行它是不一样的。这是因为您在调试器的launch.json(和其他json文件(中指定了环境和其他变量。

因此,当您在调试模式下运行时,文件可能是在其他目录中创建的(很可能是用户目录(。

如果您想在调试模式下运行代码,就像它在命令行中运行一样,那么在vscode的调试器中编辑launch.json文件以使用您想要的目录。

至于对文件的读取和写入,除非您要在读取和写入之间执行其他任务,否则您可以重用同一个文件对象。但是你需要回到文件的开头。

最新更新