python — обратная косая черта удаляется при ссылке на путь в сети в Windows

#python #windows #cmd

#python #Windows #cmd

Вопрос:

 netowrk_path = '\shared_storagetest.txt'
cmd = f'/c copy {netowrk_path} D:\temp'
print(cmd)
 

это печатает и выдает ошибку при копировании

 /c copy shared_storage test.txt D:temp
 

но на самом деле он должен печатать

 /c copy \shared_storage test.txt D:temp
 

Комментарии:

1. Обратная косая черта интерпретируется специально в строковых литералах Python, префикс строки с «r», например. r'\shared_storage' .

Ответ №1:

обратная косая черта () — это способ избежать определенных символов подробнее

вы можете определить строки как необработанные строки

 string = r'\somenetworkpath'
print(string)
 

вывод:
\somenetworkpath

подробнее о необработанной строке

Ответ №2:

Вы можете использовать repr следующим образом:

 print(repr(cmd))
 

Это даст вам желаемый результат

Вы можете использовать необработанную строку и форматировать следующим образом:

 netowrk_path = r'\shared_storagetest.txt'
cmd = rf'/c copy {netowrk_path} D:\temp'
print(cmd)
 

Ответ №3:

Вы можете заменить все одиночные символы двойной косой \ чертой или сделать ее необработанной строкой, используя r, как было предложено выше.