rogs wiki

my wiki, quick and useful snippets of code

User Tools

Site Tools


Sidebar

python

This is an old revision of the document!


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! 
python.1611349496.txt.gz · Last modified: 2021/01/22 18:04 by roger