Skip to content

Instantly share code, notes, and snippets.

@ikobi12
Last active December 8, 2023 09:37
Show Gist options
  • Save ikobi12/7f3e014496bb5197716db38f2dce931a to your computer and use it in GitHub Desktop.
Save ikobi12/7f3e014496bb5197716db38f2dce931a to your computer and use it in GitHub Desktop.
[Python] Python #python #ipython
def decorator_factory(argument):
def decorator(function):
def wrapper(*args, **kwargs):
something_with_argument(argument)
result = function(*args, **kwargs)
return result
return wrapper
return decorator
brew unlink python@3.8
rm '/usr/local/bin/pip3.7'
brew switch python 3.7.6_1
r = requests.get(photo_url, stream=True)
if r.status_code == 200:
with open(photo_url.split('/')[-1], 'wb') as f:
r.raw.decode_content = True
shutil.copyfileobj(r.raw, f)
import functools
def rgetattr(obj, attr, *args):
def _getattr(obj, attr):
return getattr(obj, attr, *args)
return functools.reduce(_getattr, [obj] + attr.split("."))
%load_ext autoreload
%autoreload 2
# flake8
find src/$package_name/ -name "*.py" | xargs flake8
# black (for dry run add --check option)
find src/$package_name/ -name "*.py" | xargs black
# pylint
find src/$package_name/ -name "*.py" | xargs pylint --output-format=colorized
def parse_seconds(seconds):
"""
Returns a list in format ['HH', 'MM', 'SS'] from float seconds
"""
def double_digits(number):
return '0' + str(number) if number < 10 else str(number)
min, sec = divmod(seconds, 60)
hours, min = divmod(min, 60)
return [
double_digits(int(hours)),
double_digits(int(min)),
double_digits(int(sec))
]
try:
from pip._internal.operations import freeze
except ImportError:
from pip.operations import freeze
for p in freeze.freeze():
print(p)
import re
def multiple_replace(mapping, text):
# Create a regular expression from all of the dictionary keys
regex = re.compile("|".join(map(re.escape, mapping.keys())))
# For each match, look up the corresponding value in the dictionary
return regex.sub(lambda match: mapping[match.group(0)], text)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment