Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #63107

Strange behaviour with a for loop.

From Sean Murphy <mhysnq1964@icloud.com>
Subject Strange behaviour with a for loop.
Date 2014-01-04 15:03 +1100
Newsgroups comp.lang.python
Message-ID <mailman.4887.1388811827.18130.python-list@python.org> (permalink)

Show all headers | View raw


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 

Back to comp.lang.python | Previous | NextNext in thread | Find similar | Unroll thread


Thread

Strange behaviour with a for loop. Sean Murphy <mhysnq1964@icloud.com> - 2014-01-04 15:03 +1100
  Re: Strange behaviour with a for loop. Larry Hudson <orgnut@yahoo.com> - 2014-01-04 13:25 -0800

csiph-web