Импортируйте файл P2 pgm, используя python - PullRequest
0 голосов
/ 01 мая 2020

Я попытался проследить это в разных потоках переполнения стека, однако, когда я импортирую файл, он дает ОДНУ длинную строку ascii. Ошибки продолжают говорить, что это список, но он не будет индексироваться или преобразовываться во фрейм данных, потому что длина списка возвращает 0.

def read_pgm(pgmf):
    """Return a raster of integers from a PGM as a list of lists."""
   # assert pgmf.readline() == 'P5\n'
    width = 128
    height = 128
    Try = []
    line = pgmf.readline().split()
    print(line)
    for item in line:
        if(item!='P5'):
            Try.append(int(item, base=16))
    print(Try)

    print("======================")

    (width, height) = [int(i) for i in pgmf.readline().split()]
    depth = int(pgmf.readline())
    assert depth <= 255

    raster = []
    for y in range(height):
        row = []
        for y in range(width):
            row.append(ord(pgmf.read(1)))
        raster.append(row)
    print(raster)
    return raster

output: ['P5', '128', ' 128 ',' 255 ',' \ xc7 \ xbb \ x9f \ xc2 \ xea \ xb8 \ xd8 \ xbe \ xd0 \ x8d \ xbd \ xda \ xce \ xaf \ xe9 \ xc8 \ xb0 \ xb6 \ xdb \ xa7 \ xb4 \ xb3 \ XAE \ xa6 \ xa6 \ XAD \ X9b \ xe7 \ x7f \ xc0 \ XBF \ xc3 \ XB0 \ xa2 \ XCA \ xd9 \ x80 \ xe1 \ Xbb \ Xbb \ xb3 \ XB1 \ XAD \ XA3 \ Xba \ x8e \ xa4 \ xa2 \ XB2 \ XC4 \ XCF \ XD3 \ xc3 \ XAF \ xc5 \ xE9 \ XAD \ xd9 \ XAE \ XAC \ X8A \ xE9 \ XB5 \ xa0 \ XCD \ XA3 \ xa6 \ XB5 \ xa7 \ xc7 \ X9b \ XBE \ XB5 \ xc3 \ xa2 \ XAF \ X9a \ xb9 \ xe4 \ XB4 \ XB8 \ x82 \ XC4 \ Xab \ XB0 \ x96 \ x96 \ x90 \ x89 \ xd0 \ xc9 \ xc7 \ x88 \ XB0 \ xe0 \ XAE \ xA9 \ x88 \ xb9 \ x9f \ XBC \ x9f \ xA9 \ xa7 \ X9a \ xc2 \ xd9 \ XB8 \ XBD \ XB4 \ XC4 \ XB2 \ xA9 \ XD3 \ XAC \ xe5 \ xa1 \ xc3 \ XB6 \ xa4 \ XAD \ XA3 \ Xbb \ x95 \ x86 \ XDE \ x92 \ XB4 \ XA3 \ XB4 \ x97 \ XAC \ Xab \ xc1 \ хаа \ x88 \ xe0 \ x93 \ xd9 \ xd4 \ x8f \ x9d \ ХеР \ x93 \ XDB \ XCC \ XBE \ xa6 \ XCB \ x98 \ XAC \ xa7 \ Xab} \ xc9 \ x9d \ Xee \ x9d \ XBE \ xa1 \ xd1 \ XA3 \ xA9 \ XCF \ XBC \ XDB \ x92 \ XB5 \ xb9 \ XB8 \ XAE \ XBE \ XB1 \ xc7 \ x82 \ xd6 \ x99 \ xE9 \ XAD \ XB4 \ xc2 \ X8A \ XB4 \ XBC \ xc0 \ XB5 \ xa1 \ xa1 \ XAF \ XBF \ x8b \ XAE \ xa2 \ xa8 \ XBE \ XB4 \ xd6 \ x94 \ XB4 \ xa4 \ Xba \ XCC \ XBF \ xce \ XDF \ х a0 \ xb9 \ xc7 \ XB8 \ xd8 \ xc0 \ xa0 \ xd1 \ XB2 \ XB2 \ XA3 \ xb9 \ xce \ xa5 \ xa6 \ XB4 \ xc0 \ XDE \ xc6 \ xA9 \ XDE \ X9a \ x82 \ xa8 \ XB8 \ XB8 \ XAD \ XCA \ XDB \ xd4 \ хаа \ xA9 \ XB4 \ xe1 \ Xab \ XAF \ xA9 \ XB1 \ x89 \ XCF \ XDD \ xa2 \ xe5 \ XB1 \ XB8 \ XAD \ XBC \ x95 \ xa2 \ xd6 \ XDD \ XE3 \ XF1 \ XB6 \ XB2 \ Xba \ X9b \ xb9 \ XBF \ x81 \ xa7 \ xc7 \ XDA \ XB2 \ xd1 \ xa0 \ XDB \ XCB \ XE6 \ xb9 \ xe4 \ xc5 \ xa4 \ XB0 \ xd5 \ xe4 \ x8f \ Xee \ XAF \ xc5 \ x9d \ XBE \ xd0 \ XB6 \ xd1 \ xd9 \ x95 \ x99 \ XBF \ x97 \ хеа \ XA3 \ XB6 \ xa2 \ xa0 \ Xee \ XCC \ xa5 \ XB5 \ XCB \ XCB \ xc7 \ XAF \ xE9 \ x9d \ XDB \ xb3 \ ХеР \ Xab \ xce \ XB0 \ x9e \ Xba \ XBE \ XC4 \ XAF \ xd9 \ xA9 \ XDD \ xd5 \ xc9 \ x9e \ xd1 \ XD2 \ x99 \ x9f \ xa1 \ x95 \ XBF \ xb7 \ XDF \ xb9 \ xc8 \ XE2 \ x9d \ XCB \ Xbb \ xc2 \ XC4 \ x90 {\ xc0 \ XDc \ xa2 \ XB4 ~ \ xc7 \ xc5 \ xb7 \ xc8 \ x8e \ XB2 \ XBC \ хаа \ XE6 \ xe5 \ xc1 \ x90 \ XB1 \ xa4 \ xe4 \ xc7 \ x87 \ x9f \ XAE \ фиксировано \ xa7 \ x93 \ хаа \ XBC \ XAD \ xd8 \ xa4 \ xc2 \ xa2 \ xc6 \ xb3 \ ХеР \ xd5 \ xc3 \ XBD \ x95 \ XC4 \ xc2 \ XB2 \ XB6 \ xc8 \ xce \ XAE \ xa6 \ Xba \ XCA \ XAD \ xc6 \ x8e \ xa2 \ XBC \ xb7 \ x93 \ xb3 \ x8c \ ....

...