Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
试图使用本文中的一些python,出现了一个错误_Python_Python 3.x_Png_Bitwise Operators - Fatal编程技术网

试图使用本文中的一些python,出现了一个错误

试图使用本文中的一些python,出现了一个错误,python,python-3.x,png,bitwise-operators,Python,Python 3.x,Png,Bitwise Operators,我希望我能在上下文中问这个问题,但我没有足够的代表在那里评论和问我的问题,所以我不得不写一篇新的帖子。 我正在尝试使用此注释中的代码: 我在学校的Houdini使用Python,因此我只能使用他们安装的库,所以我打算使用纯Python实现将一些数据作为PNG映射输出,但我在这一行遇到了一个错误: def saveAsPNG(array, f): import struct if any([len(row) != len(array[0]) for row in array]):

我希望我能在上下文中问这个问题,但我没有足够的代表在那里评论和问我的问题,所以我不得不写一篇新的帖子。 我正在尝试使用此注释中的代码:

我在学校的Houdini使用Python,因此我只能使用他们安装的库,所以我打算使用纯Python实现将一些数据作为PNG映射输出,但我在这一行遇到了一个错误:

def saveAsPNG(array, f):
    import struct
    if any([len(row) != len(array[0]) for row in array]):
        raise ValueError, "Array should have elements of equal size"

                            #First row becomes top row of image.
    flat = []; map(flat.extend, reversed(array))
                             #Big-endian, unsigned 32-byte integer.

    buf = b''.join([struct.pack('>I', ((0xffFFff & i32)<<8)|(i32>>24) )
               for i32 in flat])   #Rotate from ARGB to RGBA.

    data = write_png(buf, len(array[0]), len(array))
    #f = open(filename, 'wb')
    f.write(data)
    f.close()
def saveAsPNG(数组,f): 导入结构 如果有([len(行)!=len(数组中的行为数组[0])): raise VALUERROR,“数组应具有大小相等的元素” #第一行成为图像的第一行。 平面=[];映射(展开、反转(数组)) #Big-endian,无符号32字节整数。 buf=b“”。连接([struct.pack('>I',((0xffFFff&i32)24)) 对于平面中的i32。)#从ARGB旋转到RGBA。 data=write_png(buf,len(数组[0]),len(数组)) #f=打开(文件名“wb”) f、 写入(数据) f、 关闭() 我得到以下错误:

TypeError:&:'int'和'str'的操作数类型不受支持


不幸的是,我不熟悉所有这些语法,因此我自己无法修复错误。有什么线索吗?

看起来像是
i32
是一个
str
,而不是一个数字。。。这意味着你的
flat
iterable中有一些字符串,
flat
看起来像什么?@mgilson好的,现在我正在查看代码,是的,它们被格式化为字符串,但是如何将它们转换成正确的格式呢?我能用hex()吗?@adalast--
hex
会给你一个字符串。您可能需要
int
@Adalast——我想您可以(将基数设置为16)。e、 g.
int('0x555',16)