The PyMiers

python -i file.py


Với một lập trình viên Python, quá trình sản xuất code là liên tục vòng tuần hoàn:

viết code -> python filename.py -> sửa code -> python filename.py ...

cho đến khi mệt nghỉ, hoặc vợ gọi.

Option -i mang lại một khả năng khá thú vị khi cho phép tiếp tục tương tác với "đoạn code" sau khi đã chạy xong.

Ví dụ, đoạn code:

a = 6
b = 9
c = a + b
hot_links = ['https://pymi.vn', 'http://www.familug.org', 'http://pp.pymi.vn']

for link in hot_links:
    print(link)

Chạy

$ python3 get_data.py
https://pymi.vn
http://www.familug.org
http://pp.pymi.vn

Giờ muốn tải từng link về thì phải mở editor lên, sửa code và chạy thử tiếp...

Chạy với -i, ta có:

$ python3 -i get_data.py
https://pymi.vn
http://www.familug.org
http://pp.pymi.vn
>>> locals()
{'link': 'http://pp.pymi.vn', '__doc__': None, 'c': 15, 'a': 6, '__name__': '__main__', '__builtins__': <module 'builtins' (built-in)>, '__spec__': None, 'b': 9, '__cached__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7f0bcaee7f28>, 'hot_links': ['https://pymi.vn', 'http://www.familug.org', 'http://pp.pymi.vn'], '__package__': None}
>>> c
15
>>> hot_links
['https://pymi.vn', 'http://www.familug.org', 'http://pp.pymi.vn']

Tất nhiên các Pymier chẳng ai dùng python chay cả, mà là ipython:

$ ipython -i get_data.py
Python 3.5.2 (default, Nov 17 2016, 17:05:23)
Type 'copyright', 'credits' or 'license' for more information
IPython 6.2.1 -- An enhanced Interactive Python. Type '?' for help.
https://pymi.vn
http://www.familug.org
http://pp.pymi.vn

In [1]: hot_links
Out[1]: ['https://pymi.vn', 'http://www.familug.org', 'http://pp.pymi.vn']

Một option đơn giản, nhưng vô cùng tiện lợi.

-i     : inspect interactively after running script; forces a prompt even

Hết. HVN at https://pymi.vn and http://www.familug.org

Comments