Pyinstaller 的所有文档都谈到了包括单个文件。是否可以包含一个目录,或者我应该编写一个函数来通过遍历我的包含目录来创建包含数组?
			
			46781 次
		
5 回答
            26        
        
		
我很惊讶没有人提到官方支持的选项使用Tree():
https://stackoverflow.com/a/20677118/2230844
https://pyinstaller.readthedocs.io/en/stable/advanced-topics.html#the-toc-and-tree-classes
于 2017-02-06T06:41:17.367   回答
    
    
            23        
        
		
在规范文件中粘贴以下内容a = Analysis()以递归遍历目录并将其中的所有文件添加到分发中。
##### include mydir in distribution #######
def extra_datas(mydir):
    def rec_glob(p, files):
        import os
        import glob
        for d in glob.glob(p):
            if os.path.isfile(d):
                files.append(d)
            rec_glob("%s/*" % d, files)
    files = []
    rec_glob("%s/*" % mydir, files)
    extra_datas = []
    for f in files:
        extra_datas.append((f, f, 'DATA'))
    return extra_datas
###########################################
# append the 'data' dir
a.datas += extra_datas('data')
于 2012-08-20T07:24:37.183   回答
    
    
            8        
        
		
是的,您只需将目录添加到 Analysis 对象,它们就会被复制。
a = Analysis(['main.py'],
             datas = [('test/dir', 'test/dir')],
             ...)
于 2020-05-14T15:19:45.110   回答
    
    
            7        
        
		
只是使用glob呢?
from glob import glob
datas = []
datas += glob('/path/to/filedir/*')
datas += glob('/path/to/textdir/*.txt')
...
a.datas = datas
于 2012-07-04T04:59:00.630   回答
    
    
            7        
        
		
问题比你想象的要容易
试试这个:
--add-data="path/to/folder/*;."
希望能帮助到你 !!!
于 2019-11-30T16:21:48.493   回答