无法读取图像功能-Python路径错误
我正在尝试从公开的数据集中读取图像特征。作者提供了导入图像数据的代码(以无法读取图像功能-Python路径错误,python,python-3.x,image,image-processing,Python,Python 3.x,Image,Image Processing,我正在尝试从公开的数据集中读取图像特征。作者提供了导入图像数据的代码(以.b格式提供)。然而,当我试图指定路径时,我不断得到一个“无效语法”错误 我尝试了多种指定路径的方法,包括单引号、双引号、将文件移动到工作目录,但错误仍然存在 作者提供的代码: 导入数组 def readImageFeatures(路径): f=打开(路径“rb”) 尽管如此: asin=f.read(10) 如果asin='':中断 a=数组。数组('f') a、 fromfile(f,4096) 收益率asin,a.to
.b
格式提供)。然而,当我试图指定路径时,我不断得到一个“无效语法”错误
我尝试了多种指定路径的方法,包括单引号、双引号、将文件移动到工作目录,但错误仍然存在
作者提供的代码:
导入数组
def readImageFeatures(路径):
f=打开(路径“rb”)
尽管如此:
asin=f.read(10)
如果asin='':中断
a=数组。数组('f')
a、 fromfile(f,4096)
收益率asin,a.tolist()
将.b
文件移到工作目录后,我将路径
替换为图像功能_Baby.b
错误消息:
File "<ipython-input-11-64c836f0cfe3>", line 1 <br>
def readImageFeatures('image_features_Baby.b'): <br>
^
SyntaxError: invalid syntax <br>
文件“”,第1行
def readImageFeatures('image\u features\u Baby.b'):
^
语法错误:无效语法
我运行了代码
import array
def readImageFeatures(path):
f = open(path, 'rb')
while True:
asin = f.read(10)
if asin == '':
break
a = array.array('f')
a.fromfile(f, 4096)
yield asin, a.tolist()
readImageFeatures('image_features_Baby.b')
而且效果很好。我做的唯一一件事就是清理选项卡/空间。这可能是你的问题。我也给你换了一条新的线路,但这不应该是你的错误
不过,我必须修复这些行:
f = open(path, 'rb')
while True:
到
对于缩进问题。如果您正在尝试执行以下操作:
import array
def readImageFeatures('some_file_here.txt'):
f = open(path, 'rb')
while True:
asin = f.read(10)
if asin == '': break
a = array.array('f')
a.fromfile(f, 4096)
yield asin, a.tolist()
然后阅读关于调用和定义函数之间区别的问题的注释 由于您正在尝试使用一些Python代码,因此必须学习一点Python;有无数的好介绍。粘贴的代码定义了一个函数。要调用函数,在定义函数后,您可以(在您的情况下)编写
readImageFeatures('image\u features\u Baby.b')
,而不使用def
。无需修改函数定义本身来硬编码文件路径。非常感谢您的回复。我按照您的指示运行了代码,并且能够运行该函数。但是,我收到以下错误:。请允许我知道如何调用特定对象并获取其功能非常感谢您的回复。我按照您的指示运行了代码,并且能够运行该函数。但是,我收到以下错误:。我可以知道如何调用特定对象并获取其特征吗?这不是错误。此函数返回一个。您必须对其进行迭代(例如,使用for循环),它将返回此代码对数据集中的每个项应该执行的任何操作。生成您想要的asin.value\u
或[i for i in asin]
类似于这些操作之一的内容,但我需要查看您的代码才能确切知道该做什么。
import array
def readImageFeatures('some_file_here.txt'):
f = open(path, 'rb')
while True:
asin = f.read(10)
if asin == '': break
a = array.array('f')
a.fromfile(f, 4096)
yield asin, a.tolist()