title: IOError: [Errno 2] No such file or directory error is presented for the ouptup file
body: <p>I'm making a Python code to manipulate text files. The code will receive from the command line input file and output file names and a flag -sort, -reverse etc according to manipulation to apply on the input file and finally write the data to output file. I need to do all this job inside a class so the code will be inheritable. So far I have a code like this: </p>
  
  <pre><code>import argparse  
  import random  
  
  class Xiv(object):  
  
      def __init__(self):  
          parser = argparse.ArgumentParser()  
          group = parser.add_mutually_exclusive_group()  
          group.add_argument("-s", "-sort", action="store_true")  
          group.add_argument("-r", "-reverse", action="store_true")  
          group.add_argument("-sh", "-shuffle", action="store_true")  
          parser.add_argument("inputfile", type = file, help="Input file name")  
          parser.add_argument("outputfile", type = file, help="Output file name")  
          args = parser.parse_args()  
          source =args.inputfile  
          dist = args.outputfile  
  
      def sort(self):  
       f = open(source, "r")  
       list1 = [line for line in f if line.strip()]  
       f.close()  
       list.sort()  
       with open(dist, 'wb') as fl:  
         for item in list:  
          fl.write("%s" % item)  
  
      def reverse(self, source, dist):  
       f = open(source, "r")  
       list2 = [line for line in f if line.strip()]  
       f.close()  
       list2.reverse()  
       with open(dist, 'wb') as f2:  
         for item in list2:  
           f2.write("%s" % item)      
  
  def shuffle(self, source, dist):  
      f = open(source, "r")  
      list3 = [line for line in f if line.strip()]  
      f.close()  
      random.shuffle(list3)  
      with open(dist, 'wb') as f3:  
       for item in list3:  
        f3.write("%s" % item)  
  
  x = Xiv();  
  </code></pre>
  
  <p>Now when I run it as  </p>
  
  <pre><code>python xiv.py -s text.txt out.txt 
  </code></pre>
  
  <p>it presents the following error  </p>
  
  <pre><code>IOError: [Errno 2] No such file or directory 'out.txt'  
  </code></pre>
  
  <p>But <code>'out.txt'</code> is going to be the output file, I suggest the code to create it in case the file is not already existing. And it worked before I put this code inside the class....</p>