https://core-electronics.com.au/guides/python-reference-cheat-sheet/
For Arch Linux, install python and python-pip from the Arch repository using either yay or pacman.
yay python
yay python-pip
For dependency isolation, most Pythons packaged with Linux requires running in a virtual environment.
python -m venv /home/mtan/Source/project-name
/home/mtan/Source/project-name/bin/python
/home/mtna/Source/project-name/bin/pip
Python's package manager is pip. Here are some basic commands.
pip install <package name>
pip uninstall <package name>
pip install <package name> --upgrade
pip install <package name> --U
import time
import math from sqrt
import sendmail from emailer // email
import requests // http
import csv // csv files
import os // file system
import matplotlib.pyplot as plt // charts
Basic
import sys
file_name = sys.argv[0]
num_arguments = len(sys.argv)
arguments = sys.arv[1]
Validate Arguments
import sys
import os
# Validate CLI arguments
if len(sys.argv) == 1 or len(sys.argv) > 3:
print('app_name: bad usage')
print('')
print('Usage:')
print(' python3 app_name.py <file> <device> [options]')
print(' python3 app_name.py file.txt D1232AC -f')
print('')
print('Converts a debug log file into a human-readible time sequence')
print('')
print('Options:')
print(' -f, --fast Faster parsing with less data output')
print('')
exit(1)
# Process CLI argument for file name
if not os.path.isfile(sys.argv[1]):
print('Error: File "' + sys.argv[1] + '" not found')
print('')
exit(1)
else:
file_name = sys.argv[1]
# Process CLI argument for options
if len(sys.argv) == 3 and (sys.argv[2] == '-f' or sys.argv[2] == '--fast'):
fast_option = True
else:
print('Error: Invalid option "' + sys.argv[2])
print('')
exit(1)
# Exit without errors
exit(0)
# Exit with errors
exit(1)
# Exit loop/iterator
break
my_variable_name
my_function_name
5
'I am a string'
"I am a string"
True
False
There are 4 data types used to store multiple items as a collection of data: List, Tuple, Dictionary, and Set.
| Type | Ordered? | Changeable? | Allow Duplicate? | Indexed? |
|---|---|---|---|---|
| List | Yes | Yes | Yes | Yes |
| Tuple | Yes | No | Yes | Yes |
| Dictionary | Yes | Yes | No | No (key only) |
| Set | No | No | No | No (iterator only) |
["apple", "banana", "cherry"]
("apple", "banana", "cherry")
{ "id" : "1234-ABCD", "firstName" : "john" , "lastName" : "smith" }
{"apple", "banana", "cherry"}
x = 5
x = 'I am a string now'
x = "I am also a string"
1+3
1*3
2**3 // integer operation
2//3 // integer operation
1-3
1/3
2%3
x > y
x < y
x <= y
x >= y
x == y
x != y
x | y
x & y
not True
not False
if():
// code
elif():
// code
else:
// code
for i in range(1,10):
print(i)
for i in myList:
print(i)
while (i < 9):
print(i)
break
def functionName(parameter):
return (parameter)
Basically an arrow function in JavaScript.
return = lambda a : a + 1
class myClass:
def __init__(self, x, y):
self.input1 = x
self.input2 = y
def myClassMethod(self):
return self.input1 + self.input2
r = requests.get(i_file_url, auth=(USERNAME,PASSWORD))
Method 1 - Fastest
import os
return os.stat("file.txt").st_size
Method 2
import os
os.path.getsize("file.txt")
Method 1 - Read & Print
with open(os.getcwd() + '/input-jira.csv', 'wb') as f: f.write(r.content)
Method 2 - Read & Print Line-by-Line
file = open('file_to_open.txt', 'r')
lines = file.read().splitlines()
file.close()
for line in lines:
# Do something with the line
Method 3 - Read as CSV File
with open('input-jira.csv', newline='') as csv_file:
csv_file = csv.reader(csv_file, delimiter=',')
for x in csv_file: jira_list.append(x) #Create a list object.
Method 4 - Use DictReader Object
csv_records = []
csv_file = csv.DictReader(open('file.csv', 'r')) # Open CSV file as read-only and create a DictReader object.
for col in csv_file:
csv_records.append(col['column_name'])
print(csv_records)
with open(OUTPUT_CSV, mode='w') as export_file:
file_writer = csv.writer(export_file, delimiter=',',quotechar='"', quoting=csv.QUOTE_MINIMAL)
file_writer.writerow(["Sprint Name", "Planned Points", "Finished Points", "Remaining Points"])
for x in sprint_summary:
file_writer.writerow(x)
plt.figure(figsize=(12,6))
plt.title(i_title)
plt.xlabel("Sprint/Finish Date")
plt.ylabel("Story Points")
plt.bar(x_sprints, y_remaining, color = '#587CA1', label="Remaining")
plt.bar(x_sprints, y_finished, color = '#E3ECB8', bottom = y_remaining, label="Finished")
plt.legend()
plt.savefig(OUTPUT_PNG)