On 2015-02-16 17:07, David Aldrich wrote:
Hi Peter

Thanks very much for your reply. I have added one more question below.

The straightforward approach is to pass a list or tuple:

def build(build_options=()):
    subprocess_check_call(("make",) + build_options)

build(("flagA=true", "flagB=true"))

This looks fine - I am trying it.

I would like to display on the console the entire make command, so I have done 
this:

def build(build_options=()):
         make_command = 'make '.join(map(build_options))
         print('Build command: ' + make_command)
         subprocess.check_call(("make",)+build_options)

but I get error:

make_command = 'make '.join(map(build_options))
TypeError: map() must have at least two arguments.

What would be the correct way to concatenate and display the elements in the 
tuple please?

make_command = 'make ' + ' '.join(build_options)


You don't need 'map' because you're not doing anything to the options
before concatenating them.

The string before the .join is used as a separator between the joined
strings.

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to