2016-01-20 3 views
1

Я включил некоторые данные в мой проект с опцией include_files на build_exe. Однако эти каталоги содержат файлы .gitignore, которые я не хочу включать в дистрибутив.Как исключить файлы gitignore из дистрибутива cx_Freeze

Есть ли способ использовать шаблон для исключения любых файлов, которые в противном случае были бы включены? Я просмотрел документацию cx_Freeze, но ни один из вариантов, похоже, не делает этого.

+0

Если вы используете скрипт setup.py, можете ли вы просто сгенерировать список всех файлов в каталоге, помимо '.gitignore', и передать это? –

+0

Да, действительно. Функция 'glob.glob' даже исключает файлы, начинающиеся с точки по умолчанию. Благодаря! –

ответ

1

Решение (как предложено Thomas K) состоит в том, чтобы использовать модуль glob для генерации сводного списка файлов, подлежащих включению.

from glob import glob 
sql_files = glob('../sql/*/*') # No files in ../sql/ root 
doc_files = glob('../doc/*') + glob('../doc/*/*') 
buildOptions = dict(include_files=list(zip(sql_files, sql_files))\ 
            + list(zip(doc_files, doc_files))) 
Смежные вопросы