Hi everyone. Worked out what I was doing wrong with the string splicing. The offset number was lower then the index number, so it was failing. E.G:
On 04/01/2014, at 4:54 PM, Sean Murphy <mhysnm1...@gmail.com> wrote: > Thanks everyone. > > Mark thanks for the correction on the ':'. Since I didn't cut and copy, > rather typed it out. Errors crept in. :-) > > another question in relation to slicing strings. If you want to get a single > character, just using the index position will get it. If I use the following, > shouldn't it also work? when I use Python 3.3, it didn't provide anything. > > a = "test.txt" > print a[3] > print a[4:1] <--- index is 4 and offset is one. This is invalid. So I suspect the offset number still starts at the beginning of the string and counts forward or another way to look at it you are slicing from element x to element y. If element y is less then element x, return nothing. Does this make sense? I should have used: print a[4:6]) to get: t.t The 2nd part of my original question still stands. I will expand upon this a bit more to give more context. I want to print from the beginning of the paragraph to the end. Each paragraph ends with "\n\n\n". If I use "\n\n\n" in lines this does return true for the string. But I don't have a starting position and ending position. The list method which I mention before can be sliced by going back one element. Any suggestion on this would be welcomed. I want to achieve this using standard core python objects/methods. Sean > result is: > > 't > > > print a[3:1] > > Nothing is printed. > > print a[3:2] > > > Nothing is printed. > > print a[3:-1] > > t.tx is printed. > > > Why doesn't the positive number of characters to be splice return anything > while the negative value does? > > sorry about these basic questions. I do like the splice feature within > Python. Also what is the best method of testing for a blank string? > > end of paragraph line 1 > > > new paragraph of line 1. > > > The above example text is what I want to test for. I am planning to either > load the whole file in as a single chunk of memory using fp.read() or store > it into an array by using fp.readlines(). The first option I see being useful > because you can create a regular expression to test for multiple '\n'. While > in an array (list) I would have to test for a blank line which I assume would > be "". > > Any suggestions on this would be welcomed. > > Sean > > > > print a[ > > On 04/01/2014, at 4:38 PM, Mark Lawrence <breamore...@yahoo.co.uk> wrote: > >> On 04/01/2014 04:03, Sean Murphy wrote: >>> Hello all. >>> >>> This is a newly question. But I wish to understand why the below code is >>> providing different results. >>> >>> import os, sys >>> >>> >>> if len(sys.argv) > 2: >>> filenames = sys.argv[1:] >>> else >>> print ("no parameters provided\n") >>> sys.edit() >>> >>> for filename in filenames: >>> print ("filename is: %s\n" %filename) >>> >>> The above code will return results like: >>> >>> filename is test.txt >>> >>> If I modify the above script slightly as shown below, I get a completely >>> different result. >>> >>> if len(sys.argv) > 2: >>> filenames = sys.argv[1] >>> else >>> print ("no parameters provided\n") >>> sys.exit() >>> >>> for filename in filenames: >>> print ("filename is: %s\n" % filename) >>> >>> The result is the filename is spelled out a character at a time. The bit I >>> am missing is something to do with splicing or referencing in Python. >>> >>> Why am I getting different results? In other languages I would have got the >>> whole content of the element when using the index of the array (list). >>> >>> >>> Sean >>> filename is: t >>> filename >>> >> >> As you've already had answers I'd like to point out that your test for >> len(sys.argv) is wrong, else is missing a colon and sys.edit() is very >> unlikely to work :) >> >> -- >> My fellow Pythonistas, ask not what our language can do for you, ask what >> you can do for our language. >> >> Mark Lawrence >> >> -- >> https://mail.python.org/mailman/listinfo/python-list > -- https://mail.python.org/mailman/listinfo/python-list