Groups | Search | Server Info | Keyboard shortcuts | Login | Register


Groups > cz.comp.lang.python > #3441

Re: [python] Ovlivnění názvu souboru a čísla řádku ve výjimkách

From Petr Viktorin <encukou@gmail.com>
Subject Re: [python] Ovlivnění názvu souboru a čísla řádku ve výjimkách
Newsgroups cz.comp.lang.python
Message-ID <mailman.19.1649183401.25463.python@py.cz> (permalink)
References <18546cfe-ca81-7f24-be3f-f01f12fe8c6f@sandbox.cz> <14d7e451-c717-16e3-87f0-27eb2baab75f@gmail.com>
Organization usenet-news.net
Date 2022-04-05 20:29 +0200

Show all headers | View raw


On 05. 04. 22 18:37, Vladimír Macek wrote:
> Zdravím, mám neobvyklou otázku.
> 
> Zvažujeme do jednoho projektu s embedovaným Pythonem vývoj skriptů tak, 
> že se jeden py modul bude vyvíjet po segmentech. Budou nazvané třeba 
> 010.py, 020.py, 030.py, ...
> 
> Pro puristy, budou to malé segmenty specifické domény, nikoli standardní 
> projekt. :-)
> 
> Pro provedení se všechny segmenty modulu spojí do jednoho mod.py. Avšak 
> když v něm nastane chyba, bude v tracebacku mod.py a číslo řádku z něj.
> 
> Vývojář ale bude potřebovat problém najít ve zdrojových segmentech 
> 010.py, 020.py, ...
> 
> Samozřejmě si můžu segmenty zaindexovat, analyzovat text tracebacku a 
> obohatit ho o přepočítané pozice.
> 
> Chci se jen zeptat, jestli někdo z vás neví třeba o způsobu, jak 
> ovlivnit interní počítadlo tak, že by se při spojování do mod.py dal na 
> začátek každého segmentu nějaký override názvu souboru a počítadla řádků.
> 
> Pokud někoho z vás napadnou alternativy, aby se segmenty provedly ve 
> stejném namespace a bez spojování nebo jiné řešení, uvítám tip.


Idealne chces `from segment000 import *` ze vsech segmentu, ale jestli 
je *fakt* potreba stejny namespace pro vic souboru, da se to udelat 
nejak takhle:


-----------8<-----------

exec(compile("""
def main():
     other()
""", '000.fakepy', 'exec'))

exec(compile("""
def other():
     '''docstring on line 3'''
     raise Exception()
""", '001.fakepy', 'exec'))

main()

-----------8<-----------

Traceback (most recent call last):
   File "/tmp/mod.py", line 13, in <module>
     main()
   File "000.fakepy", line 3, in main
   File "001.fakepy", line 4, in other
Exception

-----------8<-----------

(s open+read misto literal retezcu, jestli nechces spojovat)

Back to cz.comp.lang.python | Previous | Next | Find similar


Thread

Re: [python]  Ovlivnění názvu souboru a čísla řádku ve výjimkách Petr Viktorin <encukou@gmail.com> - 2022-04-05 20:29 +0200

csiph-web