Install pyenv and set it to the version you want to use Install virtualenv, using pyenv is not necessary but I like it to keep my python versions managed. Install python3.10-venv if an error message tells to.
curl https://pyenv.run | bash
pyenv install 3.11
pyenv local 3.11
apt install python3.10-venv #might not be needed with pyenv
pyenv local 3.9.0
python -m venv
Use beautiful soup for scraping and manipulating html content
Commandline execution
The -c flag tells python to run the appended string as a command. For example
Help Function
adding an explantion string to a function can be used by the help() function to give explanation into what it is doing.
for a class this looks like:
and the output from interactive session is:
CLI Arguments
Use the argparse Library to read cli arguments.
argv is a dictionary like {'file' : 'CliArgument'}. args` is the Namespace for all Cli Arguments.
String Formatting
Filling {} with the variable `Name'
More complex solution by definen the positional arguments of the format function
This puts Name in {1} because it is the second positional argument (0-based indexing) and age in {0}.
IF-Else Oneliner
Read this_dict['key'] is other_dict['key'] if that key exists (evalutes to true) otherwise keep the origial value.
Logging
the logger object takes several arguments, the first on is the message that needs to be one string. Not like the print function that automatically concatenates its arguments to a string
➜ python3 -c "import datetime; print('It is: ',datetime.datetime.now())"
It is: 2022-03-29 13:37:50.057810
def adder(x,y):
"""
adds to numbers x and y and returns the sum
"""
return x+y
help(adder)
class person():
"""
A new person is born
"""
def __init__ (self, name):
"""
Give the person a name
"""
self.name = name
PS C:\Users\920280\OneDrive - Cognizant\Documents> python.exe -i person.py
>>> help(person)
Help on class person in module __main__:
class person(builtins.object)
| person(name)
|
| A new person is born
|
| Methods defined here:
|
| __init__(self, name)
| Give the person a name
|
| ----------------------------------------------------------------------
| Data descriptors defined here:
|
| __dict__
| dictionary for instance variables (if defined)
|
| __weakref__
| list of weak references to the object (if defined)
>>> help(person.__init__)
Help on function __init__ in module __main__:
__init__(self, name)
Give the person a name
>>>
import argparse
def read_cli_arguments():
parser = argparse.ArgumentParser()
parser.add_argument("-f", "--file", help="Execute on this File.", type=str)
args = parser.parse_args()
argv = vars(args)
Name = "Jacen Solo"
this_string = "Hello World I am {}".format(Name)
age = 32
Name = "Nom Anor"
this_string = "Hello World. I am {1} and {0} years alive.".format(age, Name)
this_dict['key'] = other_dict['key'] if other_dict['key'] else this_dict['key']
import logging
LOGGING_LEVEL = os.environ["LOGGING_LEVEL"]
logging.basicConfig()
logger = logging.getLogger(__name__)
logger.setLevel(LOGGING_LEVEL)
logger.info('This will get logged'+' this')