title: I want to create a script for unzip (.tar.gz) file via (Python)
body: <p>I am trying to make a script for unzipping all the .tar.gz files from folders in one directory. For example, I will have a file which it calls ( testing.tar.gz). Then if I do manually, I can press to "extract here" then the .tar.gz file will create a new file, and it calls testing.tar. Finally, if I repeat the process of pressing "extract here", the .tar file prodcudes me all the .pdf files.</p>
  
  <p>I wonder that how can I do it, and I have my code here and it seems doesn't realty work tho.</p>
  
  <pre><code>import os
  import tarfile
  import zipfile
  
  def extract_file(path, to_directory='.'):
      if path.endswith('.zip'):
          opener, mode = zipfile.ZipFile, 'r'
      elif path.endswith('.tar.gz') or path.endswith('.tgz'):
          opener, mode = tarfile.open, 'r:gz'
      elif path.endswith('.tar.bz2') or path.endswith('.tbz'):
          opener, mode = tarfile.open, 'r:bz2'
      else: 
          raise ValueError, "Could not extract `%s` as no appropriate extractor is found" % path
  
      cwd = os.getcwd()
      os.chdir(to_directory)
  
      try:
          file = opener(path, mode)
          try: file.extractall()
          finally: file.close()
      finally:
          os.chdir(cwd)
  </code></pre>