Hi all,

I've worked out this script to do what I want generally. However, I'm pretty sure that even though it works, I haven't utilized the advantages of python. This is more or less my first program. What I would like to know is what parts of this script you think could or should be functions in their own right. Also, I'm trying to figure out if I should be creating this as a class. I know that I still need to create some exception handling and stuff, but I want to get these functions as well articulated as possible. I hope it's okay that I submitted this much script.

Thanks for any suggestions,

Ross


#!/usr/bin/env python

# Filename: read_tags.py

import os

import re

file_name = raw_input("Name of file to read: ")

read_path = "/home/ross/Desktop/%s.txt" % file_name

read_file = file(read_path, "r")

search_file = read_file.read()

def write_file(string_to_write):

   '''This function writes a string to a specified file using append

   and taking data from the string given it.'''

   if string_to_write != []:

       write_to_filename = raw_input("Name of file to write: ")

       path_input = raw_input("Path to file: ")

       if path_input == "":

           default_path = "/home/ross/Desktop/"

           write_to_path = default_path + "%s.txt" % write_to_filename

           write_to_file = file(write_to_path, "a")

           for items in string_to_write:

               write_to_file.write(items + '\n')

               continue

           print "File %s written!" % path_input

       else:

           write_to_path = path_input+ "%s" % write_to_filename

           write_to_file = file(write_to_path, "a")

           for items in string_to_write:

               write_to_file.write(items + '\n')

           print "File %s written!" % write_to_path

   else:

       print "There is nothing to write."

def search_text():

   if search_file != False:

       tag_to_search = raw_input("Name the theme: ")

       rawstr = 
"(?<=</%s>).*(?=<%s>)|(?<=</%s>).*[\\n]+[\S\s[<%s>]+?]*(?=<%s>)" % 
(tag_to_search, tag_to_search, tag_to_search, tag_to_search, tag_to_search)

search_result = re.findall(rawstr, search_file)
       write_file(search_result)

       #print search_result

       return search_result

   else:

       print "File is empty!"


--
If you know what you're doing, you must not be 'doing' a dissertation.

_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to