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]

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

Reply via email to