【发布时间】:2021-06-03 20:51:54
【问题描述】:
所以目前我正在练习 Python,我有这行代码:
print(f"{someList}", file=open("generatedList.txt", "w"))
当我尝试使用 python "$(FULL_CURRENT_PATH)" 的运行命令在 Notepad++ 上运行它时,它不会生成s .txt 文件但在Notepad++ 文件夹。当我尝试对 IDLE 运行完全相同的代码时,它会在工作文件夹中生成 .txt 文件。
这是为什么呢?我应该对运行命令进行一些更改吗?我更喜欢 Notepad++ 作为文本编辑器。
顺便说一句,我正在使用 Python 3.8.5
【问题讨论】:
-
生成文本文件在当前目录。 Notepad++ 进程的当前目录不是当前编辑文件的目录。查看启动 Notepad++ 的快捷方式的属性。 “开始于:”字段确定 Notepad++ 将用作当前目录的路径。
-
@Tomalak 感谢您的回复!我确实尝试使用Everything.exe 搜索文件名(
generatedList.txt),但除非我使用 IDLE 运行它,否则该文件实际上不存在于任何地方。我刚才也仔细检查了一下,在Notepad++的目录下没有找到generatedList.txt。 -
Everything.exe 的好主意! :) 无论如何都要查看“Start in:”值,因为您可能没有对该目录的写入权限。通常它默认为程序的安装目录,并且对于普通用户是写保护的。将其更改为
%USERPROFILE%。 -
Everything.exe 为我省去了很多麻烦 :D 你是对的!问题是许可。我刚刚在 Notepad++ 文件夹属性下编辑了
Security,并允许用户使用Full control。但是如何让它在保存 .py 文件的当前文件夹上生成呢? -
不,不要那样做,把权限改回来。修改“开始于”值。我不是 Notepad++ 用户,但我希望有一种方法可以在运行命令之前设置目录。