Простой способ преобразовать пути Windows с переменными в строку PythonPython

Программы на Python
Anonymous
Простой способ преобразовать пути Windows с переменными в строку Python

Сообщение Anonymous »


Я обычно копирую множество путей из адресной строки проводника Windows, и они могут быть довольно длинными:

Код: Выделить всё

C:\Users\avnav\Documents\Desktop\SITES\SERVERS\4. server1\0_SERVER_MAKER
теперь предположим, что я хочу заменить avnav на getpass.getuser().
if я пробую что-то вроде:

Код: Выделить всё

project_file = f'C:\Users\{getpass.getuser()}\Documents\Desktop\SITES\SERVERS\4. server1\0_SERVER_MAKER'
Я получу следующую ошибку:

Код: Выделить всё

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
Я предполагаю, что это из-за одинарной обратной косой черты, хотя было бы здорово точно определить, какая именно часть вызывает ошибку, потому что я не уверен.
< p>в любом случае я тоже могу сделать что-то вроде:

Код: Выделить всё

project_file = r'C:\Users\!!\Documents\Desktop\SITES\SERVERS\4. server1\0_SERVER_MAKER'.replace('!!', getpass.getuser())
but this becomes annoying once i have more variables.
so is there a solution to this? or do i have to find and replace slashes or something?


Источник: https://stackoverflow.com/questions/727 ... hon-string

Вернуться в «Python»