Title: [Python] aiebr2.py Author: ChallengerAppeared Pastebin link: http://pastebin.com/ZYphBFP5 First Edit: Saturday 21st of December 2013 03:53:45 PM CDT Last Edit: Saturday 21st of December 2013 03:53:45 PM CDT from os import mkdir,getcwd from os.path import join,dirname,isdir from sys import argv from math import log10,pow   # Check for the correct number of agruments # Print a help message if they are incorrect if len(argv) != 3:     print 'syntax: python aiebr2.py '     print 'NOTE: The maximum characters does not account for post links, or'     print 'part numbering, please account for this when choosing a length' else:       # Interpret the user input     max_chars = int(argv[1])     file_to_split = argv[2]       # Read the story as a collection of lines     story = []     story_length = 0;     with open(file_to_split, 'r') as story_file:         while True:             line = story_file.readline()             if line != "":                 story.append(line)                 story_length += len(line)             else:                 break       # Build a set of parts by adding each line to a part, creating a     #   new part if adding that line would go over the maximum character     #   limit     parts = []     current_length = 0     current_part = ""     for line in story:         if current_length+len(line) > max_chars:             parts.append(current_part)             current_part = line             current_length = len(line)         else:             current_part += line             current_length += len(line)     if current_part != "":         parts.append(current_part)       # Create a directory for the parts     total_parts = len(parts)     story_dir = dirname(file_to_split);     if story_dir == "":         story_dir = os.getcwd()     parts_dir = join(story_dir,file_to_split+'_parts')     if not isdir(parts_dir):         mkdir(parts_dir)       # For each part, make a file in that directory with the contents     #   as well as a x/y numbering at the bottom     for i in range(0,len(parts)):         part = parts[i]         part_path = join(parts_dir, str(i+1)+'.txt')         with open(part_path,'w') as part_file:             numbering = '\n'+str(i+1)+'/'+str(total_parts)             to_write = part+numbering             chars_written = len(to_write)             part_file.write(to_write)             print 'part '+str(i+1)+ ' is '+str(chars_written)+ ' characters long'       print 'done'