Чтобы ответить на ваш вопрос, мне нужно объяснить некоторые предпосылки необработанных строк. Необработанные строки - это просто более простой способ включить обратную косую черту в обычную строку без необходимости экранировать их. Например, определяя строку, которая будет напечатана как «a \ b \ c» с использованием обычного строкового синтаксиса, вам нужно будет написать my_string = "a\\b\\c"
, но с необработанными строками вам нужно только написать r «a \ b \» c ", но результирующая строка одинакова в обоих случаях:
s = r"a\b\c"
s2 = "a\\b\\c"
s == s2 # Evaluates to True
При печати строки print () исключает дополнительные обратные слэши, необходимые для воссоздания строки с использованием обычного синтаксиса:
print(s) # -> a\b\c
Чтобы просмотреть представление строки, подходящей для ее воссоздания, используйте repr(s)
:
print(repr(s)) # -> "a\\b\\c"
Теперь для вашего вопроса. Необработанная строка, которую вы создаете, может выглядеть так, как вы хотите, когда используете print (), так как она исключает лишние косые черты, но это не то, что вам нужно. Во-первых, я не думаю, что вы хотели иметь две обратные косые черты в начале пути.
save_path = r"\\nemesis\Network Planning\..."
print(save_path) # Prints the correct path, save the extra leading backslash
print(repr(save_path)) # Reveals the normal string representation, which requires 4 backslashes to create (where there should be only two).
Исправить эту проблему просто: представьте путь к файлу по-другому. Либо используйте обычные строки и экранируйте все обратные косые черты вручную: "\\nemesis\\Network Planning\\Team Members\\Taylor\\2020_04_23 - COVID Impact Adjustment\\Test Stores\\State and Region Growth - " +str(Store_ID)+ ".jpg"
, либо просто используйте os.path.join("\\nemesis", "Network Planning", "Team Members", "Taylor", "2020_04_23 - COVID Impact Adjustment", "Test Stores", "State and Region Growth - "+ str(Store_ID)+ ".jpg")
, чтобы автоматически объединять каталоги со всеми правильными обратными слешами (я не могу проверить эту вторую, потому что я на Linux)
Надеюсь, это помогло!