Helpful Information
 
 
Category: Python
passing arguments with ampersands?

hey,

i have a win32 gui application that accepts filenames as arguments (either via command line or via associating an extension to the application) which are then opened in it. the problem is that as soon as the filename contains characters like '&', the process fails at the very beginning (sys.argv).

for example when the full path of the file im trying to open like this is

D:\ftp\Music\Mixes & Compilations\Above & Beyond - Essential Mix\001_Essential_Mix_2004-06-06_-_Above_and_Beyond.txt
when i put 'print sys.argv[1:]' at the very beginning of the script, all i get is this:


['D:\\ftp\\Music\\Mixes']

i already have a piece of code that puts together paths with spaces sent via arguments, but this '&' drives me crazy.

other than that, after i close the application (which actually starts without any errors), the commands line gets filled with a message like this:


The system cannot find the path specified.
'Beyond' is not recognized as an internal or external command,
operable program or batch file.

any idea how to solve this? :(
thanks in advance!

when passing the argument, enclose in double quotes


python script.py "D:\ftp\Music\Mixes & Compilations\Above & Beyond - Essential Mix\001_Essential_Mix_2004-06-06_-_Above_and_Beyond.txt"










privacy (GDPR)