首页 > 解决方案 > 使用python在cmd中找不到'__main__'模块

问题描述

我刚开始在 python3 中编码,对于一个学校项目,我们必须编写一个包含矩阵的 .txt 文件和一个 .py 文件,我应该在其中导入 .txt 文件并执行代码。一切都应该在 cmd 中使用以下语法执行:python matrix_input.txt matrixReloaded.py。但是我在 cmd 中执行代码我得到以下错误:找不到''模块。.txt 文件是一个简单的文本文件,其中仅包含矩阵。在我的 .py 文件中,我必须为 .txt 文件和 .py 文件创建一个目录,然后遵循在矩阵上执行某些内容的代码。我尝试了多种东西,但由于我是新手,所以没有任何效果。我该如何解决?

标签: pythonpython-3.x

解决方案


为了执行 python 脚本,它需要定义一个入口点。该入口点就是main模块。您收到错误是因为它没有在您的脚本中定义。因此,在您的脚本中matrixReloaded.py,您希望像这样包含此模块:

if __name__ == "__main__":
    do_something()

现在,为了从 shell 执行脚本,您需要指定脚本,然后才指定您尝试传递的参数(在您的情况下,是文件名):python matrixReloaded.py matrix_input.txt

最后,要访问参数(然后打开文件或您需要对其进行的任何操作),您需要包含该sys模块。这是一个例子:

import sys

if __name__ == "__main__":
    print sys.argv[0] # prints matrixReloaded.py
    print sys.argv[1] # prints matrix_input.txt

推荐阅读