2011-06-06 16 views
12

मेरे पास एक Django प्रोजेक्ट है और मैं इसके माध्यम से अपने रास्ते पर पिलिनटिंग पर काम कर रहा हूं।किसी दिए गए फ़ाइल नाम के लिए पिलिंट रिकर्सिवली

मेरे पास कुछ स्थितियां हैं जहां मैं किसी दिए गए नाम के साथ सभी फ़ाइलों को रिकर्सिव रूप से खोजने में सक्षम होना चाहता हूं और उन्हें अलग-अलग पिलिंट (अलग-अलग विकल्पों का उपयोग करके) प्राप्त करना चाहता हूं। उदाहरण के लिए, मैं urls.py और admin.py

1 निर्देशिका के लिए निम्न कार्य pylinting के लिए विभिन्न विकल्पों को सेट करने के ..

pylint ./project_name/*/urls.py 

करना चाहते हैं लेकिन मुझे लगता है कि * पुनरावर्ती करना चाहते हैं। .. ताकि यह उप निर्देशिका में ड्रिल हो।

इसे प्राप्त करने का कोई तरीका?


अद्यतन मैं भी उनकी तरह सभी एक ही pylint आउटपुट के रूप में चलाने के लिए चाहते हैं, क्रमिक रूप से नहीं

उत्तर

14

आपके ऑपरेटिंग सिस्टम के आधार पर आप इस्तेमाल कर सकते हैं:

find project_name -name urls.py | xargs pylint 
+4

ऐसा लगता है कि मुझे इसकी ज़रूरत है ... ऐसा लगता है कि यह उन्हें एक एकल पिलिंट निष्पादन के रूप में चला रहा है – Brant

+0

एक साइड नोट के रूप में, यह महत्वपूर्ण है कि किसी भी '__init __। Py' फ़ाइल को वापस आने वाले पथ से पट्टी न करें इस समाधान के साथ ढूंढें (ताकि मॉड्यूल को इसके बजाय पार्स किया जा सके), या आपको अपने मॉड्यूल में अन्य फाइलें 'डुप्लिकेट-कोड' चेतावनियां मिल सकती हैं। –

3

खोजने के साथ प्रयास करें:

find ./project_name/ -name "urls.py" -exec pylint '{}' \; 

आप एक से अधिक फ़ाइलों को चलाना चाहते हैं pylint पर एक कॉल में:

find ./project_name/ -name "urls.py" -exec pylint '{}' + 
+1

यह महान काम किया में रख लेकिन यह उन्हें एक भाग गया एक समय में ... मैंने अपनी पोस्ट में कुछ भी नहीं बताया लेकिन मुझे उन सभी को एक सिंगल पिलिंट के रूप में चलाने की ज़रूरत है। मैं सवाल अपडेट करूंगा। फिर भी – Brant

+1

पर + 1-आईएनजी, तो रॉबिन समाधान अच्छा लगता है;) –

+0

@ ब्रेंट - आप इसे ढूंढने के साथ कर सकते हैं। मैंने एक उदाहरण के साथ जवाब संपादित किया है। – tjameson

1
  • सभी अजगर फ़ाइलें (पुनरावर्ती) जाओ
  • उन सब में (रॉबिन द्वारा जवाब से) एक ही बार में पास pylint को
  • दिखाएँ उत्पादन सांत्वना और एक फ़ाइल

find . -name "*.py" -print0 | xargs -0 pylint 2>&1 | tee err_pylint.rst~

संबंधित मुद्दे