Hi "Nobody" and Hans,

I really appreciate you all sharing this insight with me.

> You might think that os.path.expanduser
> would never expand '~' to something containing a double quote,
> but you'd be wrong:

> >>> import os
> >>> os.environ['HOME'] = 'gotcha!"; rm -rf '
> >>> print(os.path.expanduser('~/Desktop/IN/Test/'))
> gotcha!"; rm -rf /Desktop/IN/Test/
> 
> It's easy and safer to avoid using 'shell=True' option:
> 
> cmd = ['ditto', '-vV', p1, p2]
> v = subprocess.check_output(cmd, shell=False)

I would have never thought about this, and this could definitely 
give me problems.  Thank you for this advice!

Again, thank you both for the examples and deeper understanding 
of how subprocess works.  I will definitely start passing a list 
as the first argument as well as updating my older code to do 
the same.

Jay
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to