Python – my experience so far Jason Chapman © JAC2 Consultancy Ltd
The Next 60 mins Us Why are we looking at Python The Journey –Find out about it –Install it (may skip this bit) –Watch sum tuts (maybe [down with the lingo]) –Look at some code –Have a discussion about uses / weaknesses / alternatives
The Crew Me Jan Graham (blame him about the python talk) –Doing an OU course where python is a module Neil Andy Kath
Our Issue A lot of repetitive daily / weekly / monthly functions Disparate systems we need to consume data from –Wiki’s –Robots (as in small semi automates programs) –MS SBS report –EDI formats from suppliers They (suppliers) offer a mix of –API’s – notifications –Various format –FTP –…..
Python 2 major versions in use 2.x & 3.x Huge Dev community Known as a data manipulation language Interpreted Interactive (type straight into the console). –Demo a,b,c Case sensitive Layout / indent for compound statements, not bracing where to get python from 3.4
Todays use cases Line of business firebird backup –Backup on server (server side batch) –Zip –Copy off server to a local machine –Copy off sider on a “pull” from a remote machine –Restore every day –Send me an that all went wonderfully Usage stats from PBWorks –Have to do manually –Or use their API’s
Getting up to speed Graham took a course module Take a look at python env Komodo Edit 8.5 –Free version –Paid for version has a debugger – I think. I watched google 2.x lesson: – Demo…. hello, if, help etc
More stuff Strings & slices –String.lower –String[0] –a[1:3] (0 based, based up to, but not including) From 1..3, so the 2nd, 3rd and 4th char –a[1:] –a[-1] Lists – a little like strings Docs: Modules:
Package Installer –Python 3.4 includes a module called "pip" which helps greatly with installing 3rd party modules, in the past you had to install this manually. –You can use pip to easily install new modules in a very linux commandline type way: –In Windows open a cmd window and type: py -m pip install –That's it couldn't be easier!
Strings Strings: –In Python Strings are immutable, they cannot change e.g. myVar = "graham" myVar = "jason" –# all that has happened is myVar no longer points to "graham", a new string was created containing "jason" and variable repointed to it. "graham" is lost –Benefit of immutable Strings? –In python if a String variable has the same value as another variable the interpreter tries to recognise this and actually points both variables to the same string in memory! This is known as String interning.
Lets look at some code C:\cubbyjac2\Matt\JasonUKBug –Backup Check –wikistats Things to pick out –Sets –“with” to limit scope
Gotcha’s & Comments Seemed slow to run scripts Hurt my head a bit Tabs vs spaces –We broke one of the files by annotating in notepad++ and mixing tabs and spaces –-tt flag on invocation Google it, anything
Conclusion Very impressed with Grahams deliverables Why use Python and not Delphi –Notepad & py and you are away –Like batch files on steroids What is next for us –Very early days, I like what I see I think –Build some core modules –Consider a py debugger Resources – - v3 official docs websitehttps://docs.python.org/3/ – - v3 official tutorialshttps://docs.python.org/3/tutorial/index.html