Moving folders with content

jyoung79 at kc.rr.com jyoung79 at kc.rr.com
Sun Sep 16 13:46:50 EDT 2012


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



More information about the Python-list mailing list