@@ -270,7 +270,7 @@ import re
270270< list >   =  re.split(< regex> , text, maxsplit = 0 )  #  Use brackets in regex to keep the matches.
271271< Match>  =  re.search(< regex> , text)             #  Searches for first occurrence of pattern.
272272< Match>  =  re.match(< regex> , text)              #  Searches only at the beginning of the text.
273- < iter >   =  re.finditer(< regex> , text)           #  Returns iterator of all matches .
273+ < iter >   =  re.finditer(< regex> , text)           #  Returns all occurrences as match objects .
274274``` 
275275
276276*  ** Parameter ` 'flags=re.IGNORECASE' `  can be used with all functions.** 
@@ -280,10 +280,11 @@ import re
280280
281281### Match Object  
282282``` python 
283- < str >  =  < Match> .group()   #  Whole match.
284- < str >  =  < Match> .group(1 )  #  Part in first bracket.
285- < int >  =  < Match> .start()   #  Start index of a match.
286- < int >  =  < Match> .end()     #  Exclusive end index of a match.
283+ < str >    =  < Match> .group()   #  Whole match.
284+ < str >    =  < Match> .group(1 )  #  Part in first bracket.
285+ < tuple >  =  < Match> .groups()  #  All bracketed parts.
286+ < int >    =  < Match> .start()   #  Start index of a match.
287+ < int >    =  < Match> .end()     #  Exclusive end index of a match.
287288``` 
288289
289290### Special Sequences  
@@ -1469,7 +1470,7 @@ desc   = 'calculate X to the power of Y'
14691470parser =  ArgumentParser(description = desc)
14701471group  =  parser.add_mutually_exclusive_group()
14711472group.add_argument(' -v' ' --verbose' action = ' store_true' 
1472- group.add_argument(' -q' ' --quiet' action = ' store_true' 
1473+ group.add_argument(' -q' ' --quiet'    action = ' store_true' 
14731474parser.add_argument(' x' type = int , help = ' the base' 
14741475parser.add_argument(' y' type = int , help = ' the exponent' 
14751476args   =  parser.parse_args()
@@ -1489,12 +1490,13 @@ Table
14891490#### Prints CSV file as ASCII table:  
14901491``` python 
14911492#  $ pip3 install tabulate
1492- from  csv  import  reader 
1493+ import  csv 
14931494from  tabulate import  tabulate
14941495with  open (< filename> , encoding = ' utf-8' newline = ' ' as  file :
1495-     reader  =  reader(file , delimiter = ' ;' 
1496-     headers =  [a.title() for  a in  next (reader)]
1497-     print (tabulate(reader, headers))
1496+     lines   =  csv.reader(file , delimiter = ' ;' 
1497+     headers =  [a.title() for  a in  next (lines)]
1498+     table   =  tabulate(lines, headers)
1499+     print (table)
14981500``` 
14991501
15001502
@@ -1527,10 +1529,12 @@ Image
15271529``` python 
15281530#  $ pip3 install pillow
15291531from  PIL  import  Image
1530- width, height  =   100 ,  100 
1531- img     =  Image.new( ' L ' , (width, height),  ' white ' ) 
1532+ width   =  100 
1533+ height  =   100 
15321534size   =  width *  height
1533- pixels =  [255  *  a/ size for  a in  range (size)]
1535+ pixels =  [255  *  i/ size for  i in  range (size)]
1536+ 
1537+ img =  Image.new(' L' ' white' 
15341538img.putdata(pixels)
15351539img.save(' out.png' 
15361540``` 
@@ -1545,13 +1549,13 @@ img.save('out.png')
15451549
15461550Audio
15471551----- 
1548- #### Saves a list of floats with values between 0  and 1 to a WAV file:  
1552+ #### Saves a list of floats with values between -1  and 1 to a WAV file:  
15491553``` python 
15501554import  wave, struct
1551- samples =  [struct.pack(' h' int ((a - 0.5 ) * 60000 )) for  a in  < list > ]
1552- wf =  wave.open(< filename > , ' wb' 
1555+ samples =  [struct.pack(' < h' int (a  *   30000 )) for  a in  < list > ]
1556+ wf =  wave.open(' test.wav ' ' wb' 
15531557wf.setnchannels(1 )
1554- wf.setsampwidth(4 )
1558+ wf.setsampwidth(2 )
15551559wf.setframerate(44100 )
15561560wf.writeframes(b ' ' 
15571561wf.close()
0 commit comments