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'**
答案 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有关,我认为再次讨论它仍然很有价值。
您发现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 )