title: python regex error: NameError: name 're' is not defined
body: <p>I have some code that reads an infofile and extracts information using python's regex and writes it into a new file. When I test this portion of the code individually in its own script, it works perfectly. However when I add it to  the rest of my code, I get this error:</p>
  
  <pre><code>NameError: name 're' is not defined
  </code></pre>
  
  <p>Below is my entire code. The regex portion is obvious (all the <code>re.search</code> commands):</p>
  
  <pre><code>import glob
  import subprocess
  import os
  import datetime
  import matplotlib.pyplot as plt 
  import csv
  import re
  import ntpath
  
  x = open('data.txt', 'w')
  m = open('graphing_data.txt', 'w')
  
  ckopuspath= '/Volumes/DAVIS/sfit-ckopus/ckopus'
  command_init = 'sfit4Layer0.py -bv5 -fh'
  
  subprocess.call(command_init.split(), shell=False)
  
  
  with open('/Volumes/DAVIS/calpy_em27_neu/spectra_out_demo/info.txt', 'rt') as infofile: # the info.txt file created by CALPY
      for count, line in enumerate(infofile): 
          with open('\\_spec_final.t15', 'w') as t:
              lat = re.search('Latitude of location:\s*([^;]+)', line, re.IGNORECASE).group(0)
              lat = lat.split()
              lat = lat[3]
              lat = float(lat)
  
              lon = re.search('Longitude of location:\s*([^;]+)', line, re.IGNORECASE).group(0)
              lon = lon.split()
              lon = lon[3]
              lon = float(lon)
  
              date = re.search('Time of measurement \(UTC\): ([^;]+)', line).group(0) 
              date = date.split()
  
              yeardate = date[4]
              yeardate = yeardate.split('-')
              year = int(yeardate[0])
              month = int(yeardate[1])
              day = int(yeardate[2])
  
              time = date[5]    
              time = time.split(':')
              hour = int(time[0])
              minute = int(time[1])
              second = float(time[2])    
  
              dur = re.search('Duration of measurement \[s\]: ([^;]+)', line).group(0)
              dur = dur.split()
              dur = float(dur[4])
  
              numpoints = re.search('Number of values of one scan:\s*([^;]+)', line, re.IGNORECASE).group(0)
              numpoints = numpoints.split()
              numpoints = float(numpoints[6])
  
              fov = re.search('semi FOV \[rad\] :\s*([^;]+)', line, re.IGNORECASE).group(0)
              fov = fov.split()
              fov = fov[3]
              fov = float(fov[1:])
  
              sza = re.search('sun Azimuth \[deg\]:\s*([^;]+)', line, re.IGNORECASE).group(0)
              sza = sza.split()
              sza = float(sza[3])
  
              snr = 0.0000
              roe = 6396.2
              res = 0.5000
  
              lowwav = re.search('first wavenumber:\s*([^;]+)', line, re.IGNORECASE).group(0)
              lowwav = lowwav.split()
              lowwav = float(lowwav[2])
  
              highwav = re.search('last wavenumber:\s*([^;]+)', line, re.IGNORECASE).group(0)
              highwav = highwav.split()
              highwav = float(highwav[2])
  
              spacebw = (highwav - lowwav)/ numpoints
  
  
              d = datetime.datetime(year, month, day, hour, minute, second)
              t.write('{:&gt;12.5f}{:&gt;12.5f}{:&gt;12.5f}{:&gt;12.5f}{:&gt;8.1f}'.format(sza,roe,lat,lon,snr)) # line 1
              t.write("\n")
              t.write('{:&gt;10d}{:&gt;5d}{:&gt;5d}{:&gt;5d}{:&gt;5d}{:&gt;5d}'.format(year,month,day,hour,minute,second)) # line 2
              t.write("\n")
              t.write( ('{:%Y/%m/%d %H:%M:%S}'.format(d)) + "UT Solar Azimuth:" + ('{:&gt;6.3f}'.format(sza)) + " Resolution:" + ('{:&gt;6.4f}'.format(res)) + " Duration:" + ('{:&gt;6.2f}'.format(dur))) # line 3
              t.write("\n")
              t.write('{:&gt;21.13f}{:&gt;26.13f}{:&gt;24.17e}{:&gt;12f}'.format(lowwav,highwav,spacebw,numpoints)) # line 4
              t.write("\n")
  
              calpy_path = '/Volumes/DAVIS/calpy_em27_neu/spectra_out_demo/140803/*' # the CALPY output files!
              files1 = glob.glob(calpy_path)
              with open(files1[count], 'r') as g:
                  for line in g:
                      wave_no, intensity = [float(item) for item in line.split()]
                      if lowwav &lt;= wave_no &lt;= highwav:
                          t.write(str(intensity) + '\n')
  
  ##########################                
  
              subprocess.call(['sfit4Layer0.py', '-bv5', '-fs'],shell=False) #I think this writes the summary file
  
  # this retrieves info from summary and outputs it into data.txt (for readability)
  # and graphing_data.txt (for graphing)
              road = '/Volumes/DAVIS/calpy_em27_neu/spectra_out_demo/sfit4_trial' # path to summary file that is produced - not sure where this is usually*        
              for infile in glob.glob(os.path.join(road, 'summary*')):
                  lines = open(infile, 'r').readlines()
                  #extract info from summary
                  x.write('{0} {1} {2} {3} {4}'.format(fitrms, chi2, dofsall, dofstrg, iter))
                  x.write('\n')
  
  x.close()
  m.close()
  </code></pre>