Передайте путь в стиле Windows к Python в качестве аргумента в пакетном файле.Python

Программы на Python
Ответить
Anonymous
 Передайте путь в стиле Windows к Python в качестве аргумента в пакетном файле.

Сообщение Anonymous »

как новичок в Python
Я вызываю пакетный-файл из Delft-FEWS. Этот пакетный-файл выглядит следующим образом:

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

%1 %2 %3 > logfile.txt
В Delft-FEWS определяются аргументы, благодаря которым пакетный-файл выглядит так перед его вызовом в Windows:

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

python some-script.py "C:\folder1\folder2"
Моя проблема в том, что я не могу изменить '\' в аргументе, переданном в python, поскольку они определены глубоко в Delft-FEWS.
В Python аргумент используется следующим образом:

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

import os
import sys
var = sys.argv[1]
Поскольку var содержит '\', который интерпретируется как escape-символ, при запуске кода я получаю сообщение об ошибке.
Я читал этот Python
code> предлагает возможность интерпретировать строку как литеральную, добавляя «r» перед строкой. Если я сделаю это вручную следующим образом:

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

var = r"C:\folder1\folder"
все работает идеально. Однако мне не удается передать это в скрипт Python через пакетный-файл, и добавление этого в сам скрипт тоже не работает.
Вот это то, что я пробовал до сих пор: Оба способа приводят к одной и той же ошибке, поскольку строка меняется на «rC:\folder1». \folder2", но python не интерпретирует "r" как индикатор буквальной строки.
Как я могу решить эту проблему?

Подробнее здесь: https://stackoverflow.com/questions/791 ... batch-file
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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