1 # INI with as many tricky parts as possible 2 # Most of them could not be used before 3.2 3 4 # This will be parsed with the following options 5 # delimiters = {'='} 6 # comment_prefixes = {'#'} 7 # allow_no_value = True 8 9 [DEFAULT] 10 go = %(interpolate)s 11 12 [strange] 13 values = that are indented # and end with hash comments 14 other = that do continue 15 in # and still have 16 other # comments mixed 17 lines # with the values 18 19 20 21 22 23 [corruption] 24 value = that is 25 26 27 actually still here 28 29 30 and holds all these weird newlines 31 32 33 # but not for the lines that are comments 34 nor the indentation 35 36 another value = # empty string 37 yet another # None! 38 39 [yeah, sections can be indented as well] 40 and that does not mean = anything 41 are they subsections = False 42 if you want subsections = use XML 43 lets use some Unicode = 44 45 [another one!] 46 even if values are indented like this = seriously 47 yes, this still applies to = section "another one!" 48 this too = are there people with configurations broken as this? 49 beware, this is going to be a continuation 50 of the value for 51 key "this too" 52 even if it has a = character 53 this is still the continuation 54 your editor probably highlights it wrong 55 but that's life 56 # let's set this value so there is no error 57 # when getting all items for this section: 58 interpolate = anything will do 59 60 [no values here] 61 # but there's this `go` in DEFAULT 62 63 [tricky interpolation] 64 interpolate = do this 65 lets = %(go)s 66 67 [more interpolation] 68 interpolate = go shopping 69 lets = %(go)s 70