При работе с файлами Windows/папками я почти всегда использую необработанные строки. Вот пример:
sql_admin = r"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqladmin"
Обратите внимание на r
в начале строки. Это превращает строку в необработанную строку. Если вы этого не сделаете, Python будет смотреть на обратную косую черту для специальных символов, например \n
(новая строка), \t
(вкладка) или \b
(обратная косая черта). У вас есть последнее в вашей строке.
Одним из способов узнать, что происходит, является попытка печати строки в интерпретаторе. Взгляните на следующий пример:
>>> "C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqladmin"
'C:\\Program Files\\MySQL\\MySQL Server 5.1\x08in\\mysqladmin'
>>> r"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqladmin"
'C:\\Program Files\\MySQL\\MySQL Server 5.1\\bin\\mysqladmin'
Существует две альтернативы использованию необработанных строк. Первый из них является просто избежать обратной косой черты:
>>> "C:\\Program Files\\MySQL\\MySQL Server 5.1\\bin\\mysqladmin"
Я всегда находил, что немного некрасиво и несколько сложнее читать. Вы можете также заменить обратный слэш с косой черты:
>>> "C:/Program Files/MySQL/MySQL Server 5.1/bin/mysqladmin"
Это будет работать, хотя это выглядит рода странно, если вы парень Windows. Поэтому, в конце концов, я по-прежнему рекомендую использовать необработанные строки.
это было. большое спасибо. Я думал об этом, но затем подумал, что b/c он работал в фактическом командной строке, что он не ускользнул. В любом случае, большое спасибо, вы только что закончили 2-часовой поход через пропасть для меня. –
Используйте необработанные строки. Прикрепите 'r' перед своей командной строкой, это займет' \ b' и использовать его буквально. –