Python’s “subprocess” module makes it really easy to invoke an external program and grab its output. For example, you can say import subprocess print(subprocess.check_output(‘ls’)) and the output is then $ ./blog.py b’blog.py\nblog.py~\ndictslice.py\ndictslice.py~\nhexnums.txt\nnums.txt\npeanut-butter.jpg\nregexp\nshowfile.py\nsieve.py\ntest.py\ntestintern.py\n’ subprocess.check_output returns a bytestring with the filenames on my desktop. To deal with them in a more serious way, and to have the…
One of Python’s mantras is “batteries included.” which means that even with a bare-bones installation, you can do quite a bit. You can (and should) install packages from PyPI, but many day-to-day tasks can be accomplished with just the built-in data structures, functions, and methods. What I’ve discovered over the years is that some of…
Today is my birthday! To celebrate, I’m offering a one-day 47% sale on many of my products: My upcoming live classes (on functional Python, advanced Python objects, and decorators) are all 47% off Practice Makes Python (developer package), with 50 exercises to help you improve your Python, is 47% off Practice Makes Regexp (consultant package),…
If you’re like many of the Python developers I know, the basics are easy for you: Strings, lists, tuples, dictionaries, functions, and even objects roll off of your fingers and onto your keyboard. Your day-to-day tasks have become significantly easier as a result of Python, and you’re comfortable using it for tasks at work and…
Whenever I teach Python courses, most of my students are using Windows. And thus, when it comes time to do an exercise, I inevitably end up with someone who does the following: for one_line in open(‘c:\abc\def\ghi’): print(one_line) The above code looks like it should work. But it almost certainly doesn’t. Why? Because backslashes (\) in…
I have a great job. Really, I’m quite fortunate: For many years, I’ve spent nearly every day helping engineers at some of the world’s largest and best companies (including Apple, Cisco, Ericsson, HP, PayPal, SanDisk, and VMWare) to become better Python developers. My students are are experienced, intelligent engineers who are using Python in their…
For nearly two years, I have been teaching my introductory course in data science and machine learning to companies around the world. On the one hand, participants are excited by data science, and all of the potential that it has to change our world. On the other hand, there is a lot to learn in…
In Python, we know that we can add two integers together: >> 2 + 2 4 And of course, we can add two strings together: >> ‘a’ + ‘b’ ‘ab’ We can even add two lists together: >> [1,2,3] + [4,5,6] [1, 2, 3, 4, 5, 6] But what happens when you add two booleans…
What happens when we define a function in Python? The “def” keyword does two things: It creates a function object, and then assigns a variable (our function name) to that function object. So when I say: def foo(): return “I’m foo!” Python creates a new function object. Inside of that object, we can see…
Nearly every day, I teach a course in Python. And nearly every day, I thus use the Jupyter notebook: I do my live-coding demos in it, answer students’ questions using it, and also send it to my students at the end of the day, so that they can review my code without having to type…