Неожиданная проблема в коде
У меня есть задача, в которой надо прочитать файл, содержащий путь вида dir/dir1/etc.
в случае если я отдаю его как ключ к утилите lsblk или df, утилиты падают от того, что к переданному пути добавляется \n - перенос строки. Я думаю окей, сделаю срез строки если проверка на два последних символа вернёт \n:
if path[-2] + path[-1] == '\n': # если путь вида dir/dir1/etc\n
path = path[len(path) - 1] # откусить последних два символа
Так эта проверка не срабатывает!
Больше того, я внезапно узнал, что len считает \n за один символ:
>>>len('hi\n')
3
корректируем код
if path[-1] == '\n': # если путь вида dir/dir1/etc\n
path = path[len(path) - 1] # откусить последних два символа
print(fr"{path}")
запускаем:
>>>dir/dir1/etc
Ура! Всем красивых решений, а не это вот.
Программирование на python
1K постов12K подписчиков
Правила сообщества
Публиковать могут пользователи с любым рейтингом. Однако!
Приветствуется:
• уважение к читателям и авторам
• конструктивность комментариев
• простота и информативность повествования
• тег python2 или python3, если актуально
• код публиковать в виде цитаты, либо ссылкой на специализированный сайт
Не рекомендуется:
• допускать оскорбления и провокации
• распространять вредоносное ПО
• просить решить вашу полноценную задачу за вас
• нарушать правила Пикабу