Как заменить \\ на / в 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 поэтому их изменение не доказывает никакого эффекта.

Вы можете заменить '\\' на '/'

path = path.replace('\\','/')

Использовать .replace() метод строк

"C:Users\\name\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup".replace('\\', '/')

#'C:Users/name/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup'
Другие вопросы по тегам