py2exe доступ "другие_ресурсы" - PullRequest
2 голосов
/ 05 августа 2010

Итак, с помощью py2exe вы можете добавить дополнительные данные в zip-файл библиотеки, теперь мне стало интересно, как вы получаете доступ к этим данным, вам нужно их считывать из zip-файла или вы можете просто получить к ним доступ, как и любой другой файл?или, возможно, есть другой способ получить к нему доступ.

1 Ответ

1 голос
/ 05 августа 2010

Я лично никогда не использовал zipfile. Вместо этого я передаю файлы данных, которые моя программа использовала в методе установки, и использую опцию bundle_files (как описано в нижней части этой страницы). Например, программа, которую я создаю, используя этот вызов

setup(name = "Urban Planning",
      windows = [{'script': "main.py", "dest_base": "Urban_Planning"}],
      options = opts, # Dictionary of options
      zipfile = None, # Don't create zip file
      data_files = Mydata_files) # Add list of data files to folder

также имеет перед ним кусок, в который добавляется файл конфигурации и некоторые изображения для пользовательского интерфейса, например:

Mydata_files = [] # List of data files to include
# Get the images from the [script root]/ui/images/ folder
for files in os.listdir(sys.path[0] + '/ui/images/'):
    f1 = sys.path[0] + '/ui/images/' + files
    if os.path.isfile(f1): # This will skip directories
        f2 = 'ui/images', [f1]
        Mydata_files.append(f2)

# Get the config file from the [script root]/Configs folder
Mydata_files.append(('Configs', [sys.path[0] + '/Configs/defaults.cfg']))

Таким образом, я могу вызывать свой конфигурационный файл так же, как при запуске сценария с использованием режима ожидания или командной строки, и мои изображения пользовательского интерфейса отображаются правильно.

...