我有一个
folder
和 README.md
和 run.py
,看起来像这样:
import os
assert __name__ == '__main__'
print('■', __file__)
print('●', os.getcwd())
try:
os.mkdir('DELETE_ME')
except FileExistsError:
pass
自述文件包含代码行
python -m a001_misc.b006_cwd.folder.run
。folder
是我的 CWD。
这是期望的行为。 (最重要的是,
DELETE_ME
是在folder
中创建的。)cd
)。
我想知道,当我单击该按钮时,实际会发生什么。
我发现的最接近的等效项是在
python -m run
中执行 folder
。folder
中运行整个命令时会创建 ModuleNotFoundError
。)
自述文件还包含代码行
python run.py
。folder
中的命令相同。folder
的父级从 b006_mswitch_confusion
重命名为 b006_cwd
。那个旧名字还藏在哪里?
(我已经删除了
__pycache__
中的folder
。)
示例代码也可以在这里找到。
(自述文件包含运行脚本的不同方式的输出。)
回答第一个问题:在您的屏幕截图中,第一行(以蓝色打印)是 PyCharm 执行的命令。在您的情况下,它用虚拟环境中的特定 Python 可执行文件替换
python
。
回答第二个问题:可能是PyCharm本身的缓存已经过时,与
__pycache__
无关。相反,请转至 File > Invalidate Caches 使 IDE 中的缓存无效