Почему мои исполняемые файлы Python не распознают пути к файлам при запуске от имени администратора? - PullRequest
0 голосов
/ 25 июня 2019

Я пытаюсь автоматизировать задачу передачи данных из Excel в Access, используя Python. Я создал скрипт, который выполняет задачу, но у меня возникают проблемы с исполняемым файлом, созданным из него. (Задача должна быть выполнена кем-то другим, я просто ее настраиваю.)

Я создал четыре разные версии исполняемого файла, все из которых работают как скрипты:

  1. Укажите файл Excel, используя его абсолютный путь, и введите данные в Access.

  2. Укажите файл Excel, используя os.path.join(os.path.dirname(os.path.abspath(__file__)), 'filename.xlsx'), и введите данные в Access.

  3. То же, что и сценарий 1, но данные сохраняются в виде отдельного файла Excel.

  4. То же, что и сценарий 2, но данные сохраняются в виде отдельного файла Excel.

Оба сценария 3 и 4 работают правильно. Скрипты 1 и 2 возвращают ошибки, относящиеся к пути файла Excel, как показано ниже. Я подозреваю, что это как-то связано со сценариями 1 и 2, требующими прав администратора, поскольку сообщения об ошибках, которые я получаю, относятся к исходному файлу Excel, который остается прежним.

Когда я указываю файл Excel, используя его абсолютное местоположение, исполняемый файл выдает эту ошибку:

[Errno2] No such file or directory: 'absolute location'

Когда я использую os.path.dirname(os.path.abspath(__file__)), чтобы получить местоположение, я получаю эту ошибку:

('HY024', "[HY024] [Microsoft][ODBC Microsoft Access Driver] 'unknown' is not a
valid path. Make sure that the path name is spelled correctly and that you are
connected to the server on which the file resides. (-1023) (SQLDriverConnect);
[HY024] [Microsoft][ODBC Microsoft Access Driver] 'unknown' is not a valid path.
Make sure that the path name is spelled correctly and that you are connected to
the server on which the file resides. (-1023)")
...