Text cutting tools for Twitter
My feedback:

Separation of concerns

You have three main concerns on your program:


Retrieving the input data (the text)
Splitting the text into 100 character tweets
Outputting the data to twitter


Here, you can have three functions, one per concern. Once you separate those concerns, your final code will become more flexible. You'll be able to (for example) take data from a different place than a file (e.g. a text field on GUI), output to some place different than twitter (e.g. you may want to output to the console for debugging), test different splitting algorithms (e.g. you may try an algorithm that tries not to break any words).

def readFile(filename):
    """Returns a string with the file text"""

def splitText(text, size):
    """Splits text into chunks of length size"""

def tweetEverything(texts):
    """Tweet each text in texts, adding the index of text in texts"""


Descriptive variable names

abc can become splitted_text, val can become excerpt, n can become split_size. 

Cleaner ways of doing the same

(val+' ['+str(i+1)+'/'+str(len(abc))+']'


can be done using the string method format

'{} [{}/{}]'.format(val, i+1, len(abc))


Note how by doing it this way you avoid casting to str, and you clearly put the output format on the left side and the variables you render using that format on the right side.

list(filter(bool, abc))


in this case, that is the same as:

filter(None, abc)


because the default filtering behaviour is filter out false values. Another option is to use a list comprehension:

[excerpt for excerpt in abc if excerpt]


Reference