Пакетный файл Windows не может найти файлы подфайлов из используемого файла python - PullRequest
0 голосов
/ 21 января 2019

Итак, я сделал свой первый пакетный файл.Цель этого .bat файла - запустить несколько .py файлов, которые создают базу геоданных + классы объектов (с доменами)..py использует второй / sub .py файл и .csv файл, чтобы получить его ввод.

Я получаю ошибку, потому что .bat не может найти это .csv.Я не могу понять, что мне не хватает, помощь будет принята!(спасибо заранее)

текущий код .bat:

@echo on
"c:\Program Files\ArcGIS\Pro\bin\Python\scripts\propy.bat" "C:\Users\<restofthepath>\mainfile.py"
Pause

Структура файла и карты следующая:

The file & map structure are the following:

дополнительный контент @abenky его предложение:

Я добавил «вызов» в файл * .bat и, хотя пауза в скрипте работает теперь правильно, я все еще получаю следующую ошибку:

Трассировка (последний последний вызов):

File "C:\Users\<restofthepath>\mainfile.py", line 52, in <module> with open(<theCSVfile>) as infile: FileNotFoundError: [Errno 2] No such file or directory: <nameofthecsvfile>.csv'

строка 52 в главном скрипте содержит следующую строку:

with open(<theCSVfile>) as infile:
    mw_fields  = csv.DictReader(infile, delimiter = ';')
Do I need to add this 'csv.Dictreader' also to my .bat file? *(maybe I misunderstood the function of the .batfile) 

У меня есть главный файл (иподфайлы) в каждой папке.

1 Ответ

0 голосов
/ 21 января 2019

Когда вы передаете управление второму пакетному файлу, propy, управление не вернется к исходному пакетному файлу, поскольку вы не использовали ключевое слово call.

Попробуйте вместо:

@echo on
call "c:\Program Files\ArcGIS\Pro\bin\Python\scripts\propy.bat" "C:\Users\<restofthepath>\mainfile.py"
Pause

call означает «вернуться, чтобы продолжить выполнение этого файла, когда другой файл будет завершен».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...