【问题标题】:script file not found when using cmd.exe使用 cmd.exe 时找不到脚本文件
【发布时间】:2012-12-20 10:21:57
【问题描述】:

我刚刚开始使用 Python,并试图从命令行运行程序,因为它是在“Python 程序”标题下的 on this website 完成的。所以我制作了脚本 hello.py,它位于我的计算机中的 C:\Python27。

在示例中,他们通过键入 python hello.py Guido 来运行脚本。当我尝试这样做时,它不起作用。首先,我不完全确定“命令行”是什么意思,但我在 Windows XP 中使用 cmd.exe。我明白了:

python:无法打开文件 'hello.py':[Errno 2] 没有这样的文件或目录。

我已经将 PATH 指定为 C:\Python27。

另外,当我尝试通过键入 hello.py Guido 从 Python shell 运行程序时,我得到了

SyntaxError: 无效语法。

【问题讨论】:

    标签: python shell command-line


    【解决方案1】:

    当你启动cmd.exe时,默认目录是你的Documents and Settings:因为你的文件hello.py不在那里,python解释器找不到它,从而给你[Errno 2] No such file or directory错误。要解决这个问题,只需更改您当前的工作目录:

    C:\Documents...>cd C:\Python27
    C:\Python27> python hello.py Guido
    

    无论如何,最好不要将文件放在 python 目录中(在文档中为 python 源创建一个目录并使用相同的方法)。

    当您运行 python shell 时,您不能显式调用 python 文件,因此在您的情况下,它会尝试将 hello.py 作为命令运行(它不存在)并且它会给您一个语法错误。

    【讨论】:

    • 非常感谢!那真的很清楚。我现在明白了很多。
    【解决方案2】:

    你需要在C:\Python27找到你的cmd当前目录:

    cd C:\Python27
    

    因为python 加载的路径是相对的。您也可以使用完整路径:

    python C:\Python2.7\hello.py
    

    【讨论】:

    • 输入完整路径有效,谢谢!很抱歉不理解,但我如何在C:\Python27 找到我的cmd 当前目录?我必须创建一个新的系统变量吗?
    • 哦,我明白了,我只是在命令行中输入cd C:\Python27 :)
    【解决方案3】:

    尝试不使用“python”,当你将python目录放入path时,它会自动将“.py”扩展名与python连接,因此无需编写“python hello.py Guido”

    只要进入.py所在目录,调用“hello.py”

    【讨论】:

    • 奇怪的是,当我输入hello.py Guido 时,你是对的,但是当我已经在前面的命令中输入python 时,现在我突然收到相同的语法错误输入?
    • 这并不奇怪,我不知道为什么我有这么多缺点。
    • google 页面上的语法适用于 linux,不适用于 Windows,请发布您的 python 代码。它与您的代码有关,与 Windows 无关(您收到错误“语法错误”)跨度>
    • 感谢您的帮助 Goran。在此期间我得到了它的工作。
    • 没问题 :) 感谢您注意到我的回答没有错 :)
    【解决方案4】:

    您当前的工作目录是什么? hello.py 位于何处?要执行该命令,hello.py 应该与您开始命令行 (cmd.exe) 的目录相同。否则,您需要编写 hello.py 的绝对路径(如 python C:.....\hello.py Guido),而不仅仅是文件名“hello.py”。

    【讨论】:

    • 谢谢,这很有帮助!
    猜你喜欢
    • 2018-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多