Python
Installation
Use Anaconda.
- Add
C:\Users\[username]\Anaconda3\Scripts
to your path - Run
conda init
in your bash - Run
conda config --set auto_activate_base false
Usage
How to use Python 3.
pip
Pip is the package manager for python.
Your package requirements should be written to requirements.txt
Install all requirements using pip install -r requirements.txt
Ternary Operator
is_nice = True
state = "nice" if is_nice else "not nice"
Strings
String Interpolation
Reference
Python has 3 syntax variations for string interpolation.
name = 'World'
program = 'Python'
print(f'Hello {name}! This is {program}')
print("%s %s" %('Hello','World',))
name = 'world'
program ='python'
print('Hello {name}!This is{program}.'.format(name=name,program=program))
Arrays
Use Numpy to provide array functionality
Array Indexing
Lambda Function
lambda x: x * 2
Filesystem Read and Write
List all files in a folder
gazeDir = "Gaze_txt_files"
# List of folders in root folder
gazeFolders = [path.join(gazeDir, x) for x in os.listdir(gazeDir)]
# List of files 2 folders down
gazeFiles = [path.join(x, y) for x in gazeFolders for y in os.listdir(x)]
Read/Write entire text file into a list
Reading
[1]
with open('C:/path/numbers.txt') as f:
lines = f.read().splitlines()
Writing
[2]
with open('your_file.txt', 'w') as f:
f.write("\n".join(my_list))
Create Directory if it doesn't exist
def ensure_dir_exists(dir_path):
if not os.path.exists(dir_path):
try:
os.makedirs(dir_path)
except OSError as exc: # Guard against race condition
if exc.errno != errno.EEXIST:
raise
# Example usage to create new_dir folder
ensure_dir_exists("new_dir")
# or
ensure_dir_exists(os.path.dirname("new_dir/my_file.txt"))
Copying or moving a file or folder
import shutil
# Copy a file
shutil.copy2('original.txt', 'duplicate.txt')
# Move a file
shutil.move('original.txt', 'my_folder/original.txt')
Regular Expressions (Regex)
import re
myReg = re.compile(r'height:(\d+)cm')
myMatch = re.match(myReg, "height:33cm");
print(myMatch[1])
# 33
- Notes
re.match
will return None if there is no match
Spawning Processes
Use subprocess to spawn other programs.
import subprocess
subprocess.run(["ls", "-l"], cwd="/")
Misc
If you are writing a script with functions you want to be included in other scripts, use __name__
to detect if your script is being run or being imported.
What does if __name__ == "__main__" do?
if __name__ == "__main__":
Anaconda
How to use Anaconda:
# Create an environment
conda create -n tf2 python
# Activate an environment
conda activate tf2
# Change version of Python
conda install python=3.6
Libraries
Numpy
Matplotlib
Matplotlib is the main library used for making graphs.
Alternatively, there are also Python bindings for ggplot2
Examples
Gallery