rogs wiki

my wiki, quick and useful snippets of code

User Tools

Site Tools


Sidebar

python

Python

Useful Python code, with no particular order

All asserts methods

More info https://www.mattcrampton.com/blog/a_list_of_all_python_assert_methods/

Method Checks Version
assertEqual a == b
assertNotEqual a != b
assertTrue bool(x) is True
assertFalse bool(x) is False
assertIs a is b 2.7
assertIsNot a is not b 2.7
assertIsNone x is None 2.7
assertIsNotNone x is not None 2.7
assertIn a in b 2.7
assertNotIn a not in b 2.7
assertIsInstance is instance(a,b) 2.7
assertNotIsInstance not is instance(a,b) 2.7
assertRaises fun(*args,kwds) raises exc | | | assertRaisesRegexp | fun(*args,kwds) raises exc(regex) 2.7
assertAlmostEqual round(a-b,7) == 0
assertNotAlmostEqual round(a-b,7) != 0
assertGreater a > b 2.7
assertGreaterEqual a >= b 2.7
assertLess a < b 2.7
assertLessEqual a ⇐ b 2.7
assertRegexpMatches r.search(s) 2.7
assertNotRegexpMatches not r.search(s) 2.7
assertItemsEqual sorted(a) == sorted(b) 2.7
assertDictContainsSubset all the key/value pairs in a exist in b 2.7
assertMultiLineEqual strings 2.7
assertSequenceEqual sequences 2.7
assertListEqual lists 2.7
assertTupleEqual tuples 2.7
assertSetEqual sets or frozensets 2.7
assertDictEqual dicts 2.7

Dates

strftime() and strptime() Format Codes

More info https://docs.python.org/3/library/datetime.html#strftime-and-strptime-format-codes

Directive Meaning Example Notes
%a Weekday as locale’s abbreviated name. Sun, Mon, …, Sat (en_US);So, Mo, …, Sa (de_DE) (1)
%A Weekday as locale’s full name. Sunday, Monday, …, Saturday (en_US);Sonntag, Montag, …, Samstag (de_DE) (1)
%w Weekday as a decimal number, where 0 is Sunday and 6 is Saturday. 0, 1, …, 6
%d Day of the month as a zero-padded decimal number. 01, 02, …, 31 (9)
%b Month as locale’s abbreviated name. Jan, Feb, …, Dec (en_US);Jan, Feb, …, Dez (de_DE) (1)
%B Month as locale’s full name. January, February, …, December (en_US);Januar, Februar, …, Dezember (de_DE) (1)
%m Month as a zero-padded decimal number. 01, 02, …, 12 (9)
%y Year without century as a zero-padded decimal number. 00, 01, …, 99 (9)
%Y Year with century as a decimal number. 0001, 0002, …, 2013, 2014, …, 9998, 9999 (2)
%H Hour (24-hour clock) as a zero-padded decimal number. 00, 01, …, 23 (9)
%I Hour (12-hour clock) as a zero-padded decimal number. 01, 02, …, 12 (9)
%p Locale’s equivalent of either AM or PM. AM, PM (en_US);am, pm (de_DE) (1), (3)
%M Minute as a zero-padded decimal number. 00, 01, …, 59 (9)
%S Second as a zero-padded decimal number. 00, 01, …, 59 (4), (9)
%f Microsecond as a decimal number, zero-padded on the left. 000000, 000001, …, 999999 (5)
%z UTC offset in the form ±HHMM[SS[.ffffff]] (empty string if the object is naive). (empty), +0000, -0400, +1030, +063415, -030712.345216 (6)
%Z Time zone name (empty string if the object is naive). (empty), UTC, GMT (6)
%j Day of the year as a zero-padded decimal number. 001, 002, …, 366 (9)
%U Week number of the year (Sunday as the first day of the week) as a zero padded decimal number. All days in a new year preceding the first Sunday are considered to be in week 0. 00, 01, …, 53 (7), (9)
%W Week number of the year (Monday as the first day of the week) as a decimal number. All days in a new year preceding the first Monday are considered to be in week 0. 00, 01, …, 53 (7), (9)
%c Locale’s appropriate date and time representation. Tue Aug 16 21:30:00 1988 (en_US);Di 16 Aug 21:30:00 1988 (de_DE) (1)
%x Locale’s appropriate date representation. 08/16/88 (None);08/16/1988 (en_US);16.08.1988 (de_DE) (1)
%X Locale’s appropriate time representation. 21:30:00 (en_US);21:30:00 (de_DE) (1)
%% A literal '%' character. %

Convert strings to datetime

More info https://stackabuse.com/converting-strings-to-datetime-in-python/

import datetime
 
date_time_str = 'Jun 28 2018 7:40AM'
date_time_obj = datetime.datetime.strptime(date_time_str, '%b %d %Y %I:%M%p')
 
print('Date:', date_time_obj.date())
print('Time:', date_time_obj.time())
print('Date-time:', date_time_obj)

Inline

For loops

[print(day) for day in ['monday', 'tuesday', 'wednesday', 'thursday', 'friday']]
>>> monday
tuesday
wednesday
thursday
friday
[None, None, None, None, None]

If statements

today = 'friday'
print('yay!') if today == 'friday' else print('boo')
>>> yay! 

Unpack extras on a tuple or list

t = (0, 1, 2, 3, 4)
 
a, b, *c = t
 
print(a)
print(b)
print(c)
# 0
# 1
# [2, 3, 4]
 
print(type(c))
# <class 'list'>
 
a, *b, c = t
 
print(a)
print(b)
print(c)
# 0
# [1, 2, 3]
# 4
 
*a, b, c = t
 
print(a)
print(b)
print(c)
# [0, 1, 2]
# 3
# 4
python.txt · Last modified: 2021/02/05 13:31 by roger