Il giorno mar, 17/11/2009 alle 11.48 +0100, Marco Mariani ha scritto: > Federico wrote: > > > Si si era intesto in quel senso certo, scusa non si capiva molto bene. > > Quindi anche dopo compilato รจ facile vedere il codice interno del > > programma??Giusto? > > > > Giudica tu. > > Questo e' il sorgente di posixpath.walk (file .py): > > > > warnings.warnpy3k("In 3.x, os.path.walk is removed in favor of > > os.walk.", > > stacklevel=2) > > try: > > names = os.listdir(top) > > except os.error: > > return > > func(arg, top, names) > > for name in names: > > name = join(top, name) > > try: > > st = os.lstat(name) > > except os.error: > > continue > > if stat.S_ISDIR(st.st_mode): > > walk(name, func, arg) > > > > e questo e' il compilato (file .pyc): > > > > 219 0 LOAD_GLOBAL 0 (warnings) > > 3 LOAD_ATTR 1 (warnpy3k) > > 6 LOAD_CONST 1 ('In 3.x, os.path.walk is > > removed in favor of os.walk.') > > 9 LOAD_CONST 2 ('stacklevel') > > > > 220 12 LOAD_CONST 3 (2) > > 15 CALL_FUNCTION 257 > > 18 POP_TOP > > > > 221 19 SETUP_EXCEPT 19 (to 41) > > > > 222 22 LOAD_GLOBAL 2 (os) > > 25 LOAD_ATTR 3 (listdir) > > 28 LOAD_FAST 0 (top) > > 31 CALL_FUNCTION 1 > > 34 STORE_FAST 3 (names) > > 37 POP_BLOCK > > 38 JUMP_FORWARD 23 (to 64) > > > > 223 41 DUP_TOP > > 42 LOAD_GLOBAL 2 (os) > > 45 LOAD_ATTR 4 (error) > > 48 COMPARE_OP 10 (exception match) > > 51 JUMP_IF_FALSE 8 (to 62) > > 54 POP_TOP > > 55 POP_TOP > > 56 POP_TOP > > 57 POP_TOP > > > > 224 58 LOAD_CONST 4 (None) > > 61 RETURN_VALUE > > 62 POP_TOP > > 63 END_FINALLY > > > > 225 64 LOAD_FAST 1 (func) > > 67 LOAD_FAST 2 (arg) > > 70 LOAD_FAST 0 (top) > > 73 LOAD_FAST 3 (names) > > 76 CALL_FUNCTION 3 > > 79 POP_TOP > > > > 226 80 SETUP_LOOP 115 (to 198) > > 83 LOAD_FAST 3 (names) > > 86 GET_ITER > > 87 FOR_ITER 107 (to 197) > > 90 STORE_FAST 4 (name) > > > > 227 93 LOAD_GLOBAL 5 (join) > > 96 LOAD_FAST 0 (top) > > 99 LOAD_FAST 4 (name) > > 102 CALL_FUNCTION 2 > > 105 STORE_FAST 4 (name) > > > > 228 108 SETUP_EXCEPT 19 (to 130) > > > > 229 111 LOAD_GLOBAL 2 (os) > > 114 LOAD_ATTR 6 (lstat) > > 117 LOAD_FAST 4 (name) > > 120 CALL_FUNCTION 1 > > 123 STORE_FAST 5 (st) > > 126 POP_BLOCK > > 127 JUMP_FORWARD 25 (to 155) > > > > 230 130 DUP_TOP > > 131 LOAD_GLOBAL 2 (os) > > 134 LOAD_ATTR 4 (error) > > 137 COMPARE_OP 10 (exception match) > > 140 JUMP_IF_FALSE 10 (to 153) > > 143 POP_TOP > > 144 POP_TOP > > 145 POP_TOP > > 146 POP_TOP > > > > 231 147 JUMP_ABSOLUTE 87 > > 150 JUMP_FORWARD 2 (to 155) > > 153 POP_TOP > > 154 END_FINALLY > > > > 232 155 LOAD_GLOBAL 7 (stat) > > 158 LOAD_ATTR 8 (S_ISDIR) > > 161 LOAD_FAST 5 (st) > > 164 LOAD_ATTR 9 (st_mode) > > 167 CALL_FUNCTION 1 > > 170 JUMP_IF_FALSE 20 (to 193) > > 173 POP_TOP > > > > 233 174 LOAD_GLOBAL 10 (walk) > > 177 LOAD_FAST 4 (name) > > 180 LOAD_FAST 1 (func) > > 183 LOAD_FAST 2 (arg) > > 186 CALL_FUNCTION 3 > > 189 POP_TOP > > 190 JUMP_ABSOLUTE 87 > > 193 POP_TOP > > 194 JUMP_ABSOLUTE 87 > > 197 POP_BLOCK > > 198 LOAD_CONST 4 (None) > > 201 RETURN_VALUE > > >
Si certo la sicurezza totale credo non ci sia, questo purtroppo lo so benissimo anche io, quello che mi interessava capire era se poi una volta compilato rimanevano in chiaro i file .py o venivano per lo meno chiusi. Siete stati molto esaustivi con le vostre risposte grazie mille Federico _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python