Ir al contenido principal

Entradas

Mostrando entradas de julio, 2018

Stop python debugger exactly on the failing loop iteration

This post is for ipdb users. Is this case familiar for you?: Write a break point on your code Go into a loop Start pressing 'c' and 'n' until you found the iteration that is failing. It can works, but you can only do this ... one or two times maybe?? If you need to this frequently, this method doesn't works and you need another tool, but .... what's the tool I need? You need launch_ipdb_on_exception ... ... from ipdb import launch_ipdb_on_exception with launch_ipdb_on_exception(): for i in range ( 9 ): print (i) if i== 4 : raise Exception('Debug time!') ... # Output 0 1 2 3 4 Exception('Debug time!',) > <ipython-input-1-4f44dca149ad>(7)<module>() 5 print(i) 6 if i==4: ----> 7 raise Exception('Debug time!') ipdb> i # Note ipdb console!! 4 ipdb> c # Continues the execution In [2]: i # Ipython console again Out[2]: 4 In [3

How to add an import to multiple python files | Añadir import a muchos ficheros python

If you want to add an import line to one or multiple python files, you can achieve this easily using the isort package. Install isort in your python environment: pip install -r isort   Now, execute the next isort command to add an import to multiple python files. Multiple options can be added to configure how isort works. For example, imagine you have some changes on your working copy that cause an error because you need an import. If you write this files into a "files.txt" file (one line per file) Example /tmp/files.txt file1.py controllers/file2.py Command line FILES=$(cat /tmp/files.txt) isort -a "from foo import bar" ${FILES} As I say before, you can mix with a lot of options, for example this is the command I use to handle line length, indentation, third parties, ... isort -ac -tc -m 3 -w 119 -i4 -up -y ${FILES} Hope you found this useful!!