That’s a pretty piss poor question IMO, because it’ll become obvious if and when you need to learn more. Programming’s not really the #1 thing here, so it’s up to you…
– I’ve moved this from the bottom to here, coz the post is quite long… For what you’re doing it really doesnt matter that much, Python’s that simple you can litterally write the code as you’re reading the manual. Learning C would make you a much more ‘adequate pentester’ as you put it, because you’d actually see what causes security issues and vulnarabilities.
Litterally all a vulnarability is, is a bug, usually because someone cough GNU developers cough can’t be arsed to write it properly, then can’t be arsed to fix it when it gets reported.
As a programmer of 20 years, I do have strong opinions and hopefully nobody’ll take this the wrong way.
If you really want to better yourself, Learn C, if you’re asking what/how/wether or not you should do x or y. It’s small, but it’s complete, it’s still the language pretty much all systems programming is done in, and you’ll learn more in a week about the underlying system than a lifetime writing python…
Python is great for this sort of thing because it’s a) very simple and b) got some great libraries that take no effort to install and use… unfortunately it’s pretty piss poor on performance (using PyPy will help), and personally I hate the fact my system even has python as a dependency, let alone managing another environment (2 with python, as python2 still hasn’t taken the hint) full of libraries and god knows what other command line tool’s being repped on github this week.
I’d recommend against even learning OOP, it’s a concept that originated in functional programming (Lisp if i recall) and it’s got absolutely no place in systems programming.
C is already on your system, the man pages are a brilliant source of information, rather than googling for a tutorial that may have been written by a cretin, the man pages are the last word in documentation on UNIX.