python - Sanitizing user input path names -
using python 2.6 on windows have function needs accept path name arg. i'm running issues when specific paths passed.
c:\users\bob\something.png #this handled no prob. c:\users\bob\nothing.png #this generates windowserror c:\users\bob\test.png #this generates windowserror
what i'm gathering \n
in "nothing" path being interpreted new line, , \t
in "test" path being interpreted tab.
if print out path names, that's appears happening.
print os.path.abspath("c:\users\bob\nothing.png") c:\users\bob othing.png
same 'test' path, except tab instead of new line.
the thing i've come far check see if \n
or \t
in path name, , handle accordingly, there must assuredly better way.
if '\n' in path_name: #escape slash, move on
what better way be?
print os.path.abspath(r"c:\users\bob\nothing.png")
may looking ...
although user input should automatically escaping slash ...
>>> = raw_input("enter path:") enter path:c:\www\a\nothing.jpg >>> 'c:\\www\\a\\nothing.jpg'
as can see example user input indeed escaped
Comments
Post a Comment