Использование Python 2.6 на Windows У меня есть функция, которая должна принимать имя пути в качестве аргумента. Я сталкиваюсь с проблемами при передаче определенных определенных путей.Настройка имен путей ввода пользователя
C:\users\bob\something.png #this is handled no prob.
C:\users\bob\nothing.png #this generates a WindowsError
C:\users\bob\test.png #this also generates a WindowsError
То, что я собираю, что \n
в «ничто» путь интерпретируется как новая линия, и \t
в пути «тест» интерпретируется как закладка.
Если я распечатаю имена путей, это то, что, как представляется, происходит.
print os.path.abspath("C:\users\bob\nothing.png")
C:\users\bob
othing.png
То же самое для пути 'test', за исключением закладки вместо новой строки.
Единственное, что я до сих пор придумал, это проверить, есть ли \n
или \t
в названии пути, а затем обрабатывать его соответствующим образом, но, безусловно, должен быть лучший способ.
if '\n' in path_name:
#escape slash, move on
Что было бы лучше?
Это не имеет никакого отношения к путям; это похоже на строковое цитирование в исходных файлах Python. –