2012-07-04 8 views
11

का उपयोग कर निर्देशिका सहित व्यक्तिगत फ़ाइलों सहित पिसोइंटर के लिए सभी दस्तावेज। क्या कोई निर्देशिका शामिल करना संभव है, या क्या मुझे अपनी निर्देशिका शामिल करने के लिए सरणी शामिल करने के लिए कोई फ़ंक्शन लिखना चाहिए?पाइंस्टॉलर

उत्तर

3

मैं हैरान हूँ कि कोई भी उल्लेख किया है कि सरकारी Tree() का उपयोग कर विकल्प का समर्थन:

https://stackoverflow.com/a/20677118/2230844

https://pythonhosted.org/PyInstaller/advanced-topics.html#the-toc-and-tree-classes

+1

[ट्री क्लास] (https://pythonhosted.org/PyInstaller/advanced-topics.html#the-tree-class) का उपयोग करके साझा करने के लिए धन्यवाद, यह मेरे लिए एक सुरुचिपूर्ण तरीके से हल किया गया। अब मुझे सिर्फ एक पंक्ति की आवश्यकता है: 'a.datas + = Tree (' ./ dir_to_include ', prefix =' dir_to_include ') ' – sunyata

+0

हाँ, मुझे लगता है कि यह अभी तक पर्याप्त रूप से प्रलेखित नहीं है, लेकिन यह खुला स्रोत है, इसलिए पीआर स्वागत है :) – denfromufa

4

glob का उपयोग करने के बारे में क्या?

from glob import glob 
datas = [] 
datas += glob('/path/to/filedir/*') 
datas += glob('/path/to/textdir/*.txt') 
... 

a.datas = datas 
17

कल्पना फ़ाइल में 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') 
+0

मुझे माफ करना, लेकिन मैं वास्तव में यह नहीं मिलता है। मेरे पास '~/स्क्रिप्ट्स 'नामक एक निर्देशिका है। मेरा डेटा '~/स्क्रिप्ट/डेटा' में संग्रहीत है। क्या मुझे 'a.datas + = extra_datas ('data')' a.datas + = extra_datas ('डेटा') द्वारा 'i.datas + = extra_datas ('data') 'को प्रतिस्थापित करना चाहिए? –

+0

यदि आपकी pyInstaller स्क्रिप्ट 'स्क्रिप्ट्स' में भी है और आप इसे 'स्क्रिप्ट्स' के भीतर से 'python mybuildscript.py'' कहते हैं, तो हाँ, आपको 'डेटा' के साथ प्रतिस्थापित करना चाहिए, अन्यथा नेविगेट करने के लिए' .' और '..' का उपयोग करें। निर्देशिका पेड़। – styts