ofs | hex dump | ascii |
---|
0000 | 23 21 2f 62 69 6e 2f 62 61 73 68 0a 49 4e 54 45 52 50 52 45 54 45 52 5f 55 4e 44 45 52 5f 54 45 | #!/bin/bash.INTERPRETER_UNDER_TE |
0020 | 53 54 3d 22 24 31 22 0a 69 66 20 5b 5b 20 21 20 2d 78 20 22 24 7b 49 4e 54 45 52 50 52 45 54 45 | ST="$1".if.[[.!.-x."${INTERPRETE |
0040 | 52 5f 55 4e 44 45 52 5f 54 45 53 54 7d 22 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 65 63 68 6f | R_UNDER_TEST}".]];.then.....echo |
0060 | 20 22 49 6e 74 65 72 70 72 65 74 65 72 20 6d 75 73 74 20 62 65 20 74 68 65 20 63 6f 6d 6d 61 6e | ."Interpreter.must.be.the.comman |
0080 | 64 20 6c 69 6e 65 20 61 72 67 75 6d 65 6e 74 2e 22 0a 20 20 20 20 65 78 69 74 20 34 0a 66 69 0a | d.line.argument.".....exit.4.fi. |
00a0 | 45 58 45 43 55 54 41 42 4c 45 3d 22 24 30 22 20 65 78 65 63 20 22 24 7b 49 4e 54 45 52 50 52 45 | EXECUTABLE="$0".exec."${INTERPRE |
00c0 | 54 45 52 5f 55 4e 44 45 52 5f 54 45 53 54 7d 22 20 2d 45 20 2d 20 3c 3c 45 4e 44 5f 4f 46 5f 50 | TER_UNDER_TEST}".-E.-.<<END_OF_P |
00e0 | 59 54 48 4f 4e 0a 69 6d 70 6f 72 74 20 6f 73 0a 69 6d 70 6f 72 74 20 7a 69 70 66 69 6c 65 0a 0a | YTHON.import.os.import.zipfile.. |
0100 | 6e 61 6d 65 73 70 61 63 65 20 3d 20 7b 7d 0a 0a 66 69 6c 65 6e 61 6d 65 20 3d 20 6f 73 2e 65 6e | namespace.=.{}..filename.=.os.en |
0120 | 76 69 72 6f 6e 5b 27 45 58 45 43 55 54 41 42 4c 45 27 5d 0a 70 72 69 6e 74 28 66 27 4f 70 65 6e | viron['EXECUTABLE'].print(f'Open |
0140 | 69 6e 67 20 7b 66 69 6c 65 6e 61 6d 65 7d 20 61 73 20 61 20 7a 69 70 66 69 6c 65 2e 27 29 0a 77 | ing.{filename}.as.a.zipfile.').w |
0160 | 69 74 68 20 7a 69 70 66 69 6c 65 2e 5a 69 70 46 69 6c 65 28 66 69 6c 65 6e 61 6d 65 2c 20 6d 6f | ith.zipfile.ZipFile(filename,.mo |
0180 | 64 65 3d 27 72 27 29 20 61 73 20 65 78 65 5f 7a 69 70 3a 0a 20 20 66 6f 72 20 66 69 6c 65 5f 69 | de='r').as.exe_zip:...for.file_i |
01a0 | 6e 66 6f 20 69 6e 20 65 78 65 5f 7a 69 70 2e 69 6e 66 6f 6c 69 73 74 28 29 3a 0a 20 20 20 20 64 | nfo.in.exe_zip.infolist():.....d |
01c0 | 61 74 61 20 3d 20 65 78 65 5f 7a 69 70 2e 72 65 61 64 28 66 69 6c 65 5f 69 6e 66 6f 29 0a 20 20 | ata.=.exe_zip.read(file_info)... |
01e0 | 20 20 65 78 65 63 28 64 61 74 61 2c 20 6e 61 6d 65 73 70 61 63 65 2c 20 6e 61 6d 65 73 70 61 63 | ..exec(data,.namespace,.namespac |
0200 | 65 29 0a 20 20 20 20 62 72 65 61 6b 20 20 23 20 4f 6e 6c 79 20 75 73 65 20 74 68 65 20 66 69 72 | e).....break..#.Only.use.the.fir |
0220 | 73 74 20 66 69 6c 65 20 69 6e 20 74 68 65 20 61 72 63 68 69 76 65 2e 0a 0a 70 72 69 6e 74 28 27 | st.file.in.the.archive...print(' |
0240 | 46 61 76 6f 72 69 74 65 20 6e 75 6d 62 65 72 20 69 6e 20 65 78 65 63 75 74 61 62 6c 65 3a 27 2c | Favorite.number.in.executable:', |
0260 | 20 6e 61 6d 65 73 70 61 63 65 5b 22 46 41 56 4f 52 49 54 45 5f 4e 55 4d 42 45 52 22 5d 29 0a 0a | .namespace["FAVORITE_NUMBER"]).. |
0280 | 23 23 23 20 41 72 63 68 69 76 65 20 63 6f 6e 74 65 6e 74 73 20 77 69 6c 6c 20 62 65 20 61 70 70 | ###.Archive.contents.will.be.app |
02a0 | 65 6e 64 65 64 20 61 66 74 65 72 20 74 68 69 73 20 66 69 6c 65 2e 20 23 23 23 0a 45 4e 44 5f 4f | ended.after.this.file..###.END_O |
02c0 | 46 5f 50 59 54 48 4f 4e 0a 50 4b 03 04 0a 00 00 00 00 00 15 5c 2a 4f 49 5f 3f 53 45 00 00 00 45 | F_PYTHON.PK.........\*OI_?SE...E |
02e0 | 00 00 00 1d 00 1c 00 74 65 73 74 64 61 74 61 5f 6d 6f 64 75 6c 65 5f 69 6e 73 69 64 65 5f 7a 69 | .......testdata_module_inside_zi |
0300 | 70 2e 70 79 55 54 09 00 03 ca 7b 77 5d 92 80 77 5d 75 78 0b 00 01 04 e8 03 00 00 04 e8 03 00 00 | p.pyUT....{w]..w]ux............. |
0320 | 23 20 54 65 73 74 20 64 61 74 61 20 66 69 6c 65 20 74 6f 20 62 65 20 73 74 6f 72 65 64 20 77 69 | #.Test.data.file.to.be.stored.wi |
0340 | 74 68 69 6e 20 61 20 7a 69 70 20 66 69 6c 65 2e 0a 46 41 56 4f 52 49 54 45 5f 4e 55 4d 42 45 52 | thin.a.zip.file..FAVORITE_NUMBER |
0360 | 20 3d 20 35 0a 50 4b 01 02 1e 03 0a 00 00 00 00 00 15 5c 2a 4f 49 5f 3f 53 45 00 00 00 45 00 00 | .=.5.PK...........\*OI_?SE...E.. |
0380 | 00 1d 00 18 00 00 00 00 00 00 00 00 00 a4 81 00 00 00 00 74 65 73 74 64 61 74 61 5f 6d 6f 64 75 | ...................testdata_modu |
03a0 | 6c 65 5f 69 6e 73 69 64 65 5f 7a 69 70 2e 70 79 55 54 05 00 03 ca 7b 77 5d 75 78 0b 00 01 04 e8 | le_inside_zip.pyUT....{w]ux..... |
03c0 | 03 00 00 04 e8 03 00 00 50 4b 05 06 00 00 00 00 01 00 01 00 63 00 00 00 9c 00 00 00 00 00 | ........PK..........c......... |