python正确读取文件_如何使用Python正确读取PPM文件

这是我的总体说明

使用0到255范围内的整数值编写一个表示RGB颜色的Color类 . 您的类必须:放在image.py中提供一个构造函数,它接受来自客户端和存储的红色,绿色和蓝色通道的值这些值提供返回红色,绿色和蓝色通道值的公共方法

编写一个表示PPM图像的PortablePixmap类 . 您的类必须:置于image.py中提供一个构造函数,该构造函数接受来自客户端的幻数,宽度,高度,最大颜色值和像素数据,并存储这些值将像素数据存储为列表(或列表列表) of)颜色对象提供返回PPM图像的字符串表示形式的公共方法

编写read_ppm函数,打开PPM图像文件,读取其内容,并返回保存其内容的PortablePixmap对象 . 您的功能必须:放在image.py中读取PPM图像文件的内容对PPM图像文件的格式不敏感如果预期和提供的像素数不同,则退出并显示错误

编写一个测试read_ppm函数的main函数 . 您的函数必须放在main.py中

这就是我到目前为止所拥有的

class Color:

# constructor takes in values from client and stores them

def __init__(self, red, green, blue):

# checks that type of arg == int: raises exception otherwise

if (isinstance(red, int) and isinstance(green, int) and isinstance(blue, int)):

print("good stuff, indeed integers")

else:

raise TypeError("Argument must be an integer.")

# checks if values are between 0 and 225

if red < 0 or red > 225:

print("0 < rgb values < 225")

elif green < 0 or green > 225:

print("0 < rgb values < 225")

elif blue < 0 or blue > 225:

print("0 < rgb values < 225")

# instance variables (RGB values)

self._red = red

self._green = green

self._blue = blue

# methods that reuturn RGB values

def returnRed(self):

return self._red

def returnGreen(self):

return self._green

def returnBlue(self):

return self._blue

'''class that represents a PPM image'''

class PortablePixmap:

def __init__(self, magic_number, width, height, max_color_value, pixel_data):

self._magic_number = magic_number

self._width = width

self._height = height

self._max_color_value = max_color_value

self._pixel_data = pixel_data

def __str__(self):

s = self._magic_number

s += '\n' + str(self._width)

s += ' ' + str(self._height)

s += '\n' + str(self._max_color_value)

for pixel in self._pixel_data:

s += ' ' + str(pixel[0])

s += ' ' + str(pixel[1])

s += ' ' + str(pixel[2])

return s

我有几个问题需要澄清.1 . 我是否正确地创建了Color类? 2.我是否需要特别提出该课程中的任何例外情况?我们最终将从包含所有内容的文件中读取,但不一定是在它自己的单独行上 .

我真的只是想知道我是否正确地做到了这一点 . 说明似乎是逐步的,但我并不是真的理解一切如何连接所以我担心我做得太多或太少 .

提前致谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值