Как заменить \\ на / в Python 3?
У меня есть часть в моей программе, которая требует работы с каталогами. Мой текущий код:
path = os.path.join('C:','Users',getpass.getuser(),'AppData','Roaming','Microsoft','Windows','Start Menu','Programs','Startup')
Печатается переменная: "C:Users\\name\\AppData\\Roaming\\Microsoft\\Windows\\" Пуск "\\Programs\\Startup".
У меня вопрос, как мне сделать печать var path 'C: Пользователи / имя /AppData/Roaming/Microsoft/Windows/ Меню Пуск / Программы / Автозагрузка'
3 ответа
Решение
Как предлагается в комментариях, система делает это.
Вам лучше переодеться os.sep
или же os.path.sep
но тем не менее вы можете сделать это.
>>> os.path.sep = '\\'
>>> os.path.sep
'\\' #we have changed the separator
>>> os.sep.join(['C:','Users',getpass.getuser(),'AppData','Roaming','Microsoft','Windows','Start Menu','Programs','Startup'])
'C:\\Users\\name\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup'
Но вы можете просто использовать это, хотя,
>>> '\\'.join(['C:','Users',getpass.getuser(),'AppData','Roaming','Microsoft','Windows','Start Menu','Programs','Startup'])
'C:\\Users\\name\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup'
Ну, так же, как указано в комментариях!
Также os.path.join
не зависит от os.sep
или же os.path.sep
поэтому их изменение не доказывает никакого эффекта.
Использовать .replace()
метод строк
"C:Users\\name\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup".replace('\\', '/')
#'C:Users/name/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup'