FileNotFoundError:[WinError 3]系统找不到指定的路径:

时间:2018-06-24 06:24:05

标签: python-3.x machine-learning anaconda jupyter-notebook

实际上,我正在尝试从 tutorial 运行代码。我已将代码和数据集放在同一目录中,但仍然出现以下错误。

FileNotFoundError                         Traceback (most recent call last)
<ipython-input-6-5f5284db0527> in <module>()
     39 # extract features from all images
     40 directory = 'Flicker8k'
---> 41 features = extract_features(directory)
     42 print('Extracted Features: %d' % len(features))
     43 # save to file

<ipython-input-6-5f5284db0527> in extract_features(directory)
     18         # extract features from each photo
     19         features = dict()
---> 20         for name in listdir(directory):
     21                 # load an image from file
     22                 filename = directory + '/' + name

**FileNotFoundError: [WinError 3] The system cannot find the path specified: 'Flicker8k'**

2 个答案:

答案 0 :(得分:3)

  

系统找不到指定的路径:“ Flicker8k”

它抱怨找不到指定的目录。尝试将相对目录路径directory = 'Flicker8k'替换为Flicker8k目录的完整绝对路径(好像您在Windows上,所以看起来像C:\myproject\Flicker8k,或者如果您在Linux {{1}上) }或该数据集所在的任何位置)。因此,请确保:

  • 使用绝对路径而不是真实的
  • 文件夹(大写正确)存在
  • 数据集实际上位于所述文件夹中
  • 可以访问文件夹(和其中的文件)的权限

答案 1 :(得分:2)

因为有人来这里遇到同样的错误。

如果您尝试在system32中列出文件夹,但是python告诉您

FileNotFoundError: [WinError 3] The system cannot find the path specified: 'C:\\Windows\\System32\\OpenSSH\\'

这是由于使用python-32bit引起的。安装64位python将解决此问题。

浪费一天来解决它?

最好的解释材料:)

https://mail.python.org/pipermail/python-win32/2012-March/012121.html

Python does not find System32

这是一个非常令人困惑的观点,因此即使不是直接 与Python有关,我认为再次讨论它仍然很有价值。

您发现Windows可以为您提供帮助。由于从来没有的原因 向我充分解释(并相信我,我问过那些 应该知道),在64位系统上,所有64位命令和DLL 放在\ Windows \ System32中。所有32位命令和DLL都存在 \ Windows \ SysWOW64。 64位进程可以同时看到这两个 目录。

但是对于32位进程,操作系统会“有帮助”地重写您的 路径。当您引用\ Windows \ System32时,系统会很有帮助 重写对\ Windows \ SysWOW64的引用。微软称它为文件 系统重定向”。我称其为“文件系统愚蠢”。

大多数时候都可以。存在大多数重要命令 在两个目录中。少数(如nbtstat)不是,这是一个问题。

有两种解决方案。一种是使用64位Python 说对你来说是个问题。另一种是将API与 缠绕名称Wow64DisableWow64FsRedirection。这是我的脚本:

   import ctypes
    k32 = ctypes.windll.kernel32
    wow64 = ctypes.c_long( 0 )
    k32.Wow64DisableWow64FsRedirection( ctypes.byref(wow64) )
    # ... do stuff with real files ...
    k32.Wow64RevertWow64FsRedirection( wow64 )