【问题标题】:Python 101: Can't open file: No such file or directoryPython 101:无法打开文件:没有这样的文件或目录
【发布时间】:2015-12-05 19:19:42
【问题描述】:

这里有一个简单的背景:我在学习 Python 的第一天。没有以前的编码经验。运行 Windows 8。安装了 Python 2.7(位置:C:\Python27)。我添加了路径“C:\Python27\;”到环境变量和 '.py:' 到 PATHEXT。我可以启动 Python。

为了学习,我从关于 Python 的 Google Developers 课程开始。我已将 google-python-exercises 文件下载到我的桌​​面,其中包含一个文件“hello.py”。谷歌页面(https://developers.google.com/edu/python/set-up)说我应该能够在命令提示符下输入“python hello.py”,它应该打印“Hello World”。

当我尝试这样做时,我收到消息:python: can't open file 'hello.py: [Errno 2] No such file or directory。我该如何解决这个问题?

更新

我可以通过从文件夹中运行 cmd 来运行它。但是,这似乎是一个临时解决方案。如何对 Python 进行编程以获取新文件夹 (C:\Python27\MyProjects) 并进行搜索?听起来我需要添加/编辑一个目录,但我不知道该怎么做。


【问题讨论】:

  • 您的工作目录是否与.py 文件所在的目录相同?
  • 使用“cmd”,将自己(使用 cd 命令)移动到包含 hello.py 的文件夹,然后运行:python hello.py
  • 通过cmd进入hello.py所在的文件目录,然后执行python hello.py。
  • 是的,您是否尝试在 hello.py 所在的同一目录中执行 cmd?还要检查是否有读取和执行权限。
  • 按住 shift+右键点击你下载 hello.py 的文件夹并在那里打开一个 cmd。 python hello.py 应该可以工作

标签: python python-2.7


【解决方案1】:

除非提供了指向它的路径,否则 Python 无法访问子目录中的文件。您可以通过提供路径来访问任何目录中的文件。 python C:\Python27\Projects\hello.py

【讨论】:

  • 谢谢。移动文件有效,但如果我移动整个文件夹,则不会。如何更改目录以包含整个文件夹和子文件夹?
  • 从命令行运行Python时,只会在目录的文件列表中搜索hello.py。如果您的文件位于子目录中,则必须将 cd 指向该子目录,或添加文件路径。示例:python C:\Python27\Projects\hello.py
【解决方案2】:

我通过导航到 C:\Python27\Scripts 文件夹解决了这个问题,然后运行 ​​file.py 文件而不是 C:\Python27 文件夹

【讨论】:

    【解决方案3】:

    根据您的问题,您正在运行 python2.7 和 Cygwin。

    应该为 Windows 安装 Python,从您的问题看来是这样。如果 "which python" 打印出 /usr/bin/python ,那么从 bash 提示符中您正在运行 cygwin 版本。

    适当设置 Python 环境变量 ,例如在我的情况下:

    PY_HOME=C:\opt\Python27
    PYTHONPATH=C:\opt\Python27;c:\opt\Python27\Lib
    

    在这种情况下,运行 cygwin setup 并卸载所有 python。 之后运行“which pydoc”,如果它显示

    /usr/bin/pydoc
    

    替换 /usr/bin/pydoc 与

    #! /bin/bash
     /cygdrive/c/WINDOWS/system32/cmd /c %PYTHONHOME%\Scripts\\pydoc.bat
    

    然后将其添加到 $PY_HOME/Scripts/pydoc.bat

    rem wrapper for pydoc on Win32
    @python c:\opt\Python27\Lib\pydoc.py %*
    

    现在,当您输入 cygwin bash 提示符时,您应该会看到:

    $ pydoc
     pydoc - the Python documentation tool
    
     pydoc.py <name> ...
       Show text documentation on something.  <name> 
       may be the name of a Python keyword, topic,
       function, module, or package, or a dotted
       reference to a class or function within a
       module or module in a package.
    ...
    

    【讨论】:

      【解决方案4】:

      尝试卸载 Python,然后重新安装,但这次确保在安装过程中将“添加 Python 到路径”选项标记为选中。

      【讨论】:

      • 为什么要解决这个问题?从这个问题可以得出 Python 安装成功并且已经在 PATH 中。找不到的是 Python 脚本,而不是 Python 解释器。
      猜你喜欢
      • 2018-01-20
      • 1970-01-01
      • 1970-01-01
      • 2019-10-24
      • 1970-01-01
      • 2023-04-06
      • 2019-04-07
      • 2017-05-04
      相关资源
      最近更新 更多