Вам следует использовать os.pathмодуль ( docs.python.org/library/os.path.html ) вместо непосредственного управления строками. Используется os.path.joinдля объединения компонентов пути.
kennytm
2
Спасибо Тиму за напоминание, после прочтения документа я думаю, что ответ на мой настоящий вопрос - os.path.join (папка, имя файла), и мне вообще не нужно беспокоиться о косой черте. чувак, я буду любить питона ;-)
охо
2
Вот почему я спросил - не делайте этого самостоятельно, используйте os.path.joinи позвольте стандартной библиотеке определить правильный разделитель путей.
Тим Пицкер
2
@ S.Lott Я не считаю это «плохим». вопрос сам по себе является правильным вопросом. это лишь часть более крупного (можно сказать реального) вопроса.
ohho
6
Однако в зависимости от того, что вы делаете, этот вопрос все еще может представлять интерес. Например, если вы используете Python для ввода данных в другую программу, у вас может быть случай, когда для аргумента нужен путь с косой чертой. Это может быть вне вашего контроля; и является вполне допустимым вариантом использования для ответа Марко ниже.
Крис Кричо
Ответы:
180
os.path.join(path, '') добавит завершающую косую черту, если ее еще нет.
Вы можете сделать os.path.join(path, '', '')или, os.path.join(path_with_a_trailing_slash, '')и вы все равно получите только одну косую черту в конце.
os.path.normcase(path)Normalize the case of a pathname.OnUnixandMac OS X, this returns the path unchanged; on case-insensitive filesystems, it converts the path to lowercase.OnWindows, it also converts forward slashes to backward slashes.
В противном случае вы могли бы поискать что-нибудь еще на этой странице
os.path
модуль ( docs.python.org/library/os.path.html ) вместо непосредственного управления строками. Используетсяos.path.join
для объединения компонентов пути.os.path.join
и позвольте стандартной библиотеке определить правильный разделитель путей.Ответы:
os.path.join(path, '')
добавит завершающую косую черту, если ее еще нет.Вы можете сделать
os.path.join(path, '', '')
или,os.path.join(path_with_a_trailing_slash, '')
и вы все равно получите только одну косую черту в конце.источник
path
это файл, а не каталог. Это немного неудобно.Поскольку вы хотите связать каталог и имя файла, используйте
Если вы хотите избавиться от
.\..\..\blah\
путей, используйтеисточник
Вы можете сделать это вручную:
Однако обычно он намного чище в использовании
os.path.join
.источник
Вы можете использовать что-то вроде этого:
В противном случае вы могли бы поискать что-нибудь еще на этой странице
источник