2012-09-18 19 views
22
में एक अलग फाइल में एक समारोह कॉलिंग

मैंने पढ़ा निम्न पदों है:अजगर

Importing Module or From Module Import

From file.py import *

और मैं सिर्फ पता है जब में तोड़-अप करने के लिए अपने कोड के लिए कैसे सोच रहा था एकाधिक फाइलें एक फाइल में कई कार्यों को बनाम बनाम? मेरी विशिष्ट समस्या यह है कि मेरे पास 100 लाइनों के साथ एक फ़ंक्शन है जिसे मैं किसी अन्य फ़ंक्शन के फॉर-लूप में कॉल करना चाहता हूं। साथ ही, स्क्रिप्ट कब निष्पादित की जाती हैं? जब आप उन्हें आयात करते हैं, या जब आप उन्हें कॉल करते हैं?

नोट: नीचे दिए गए उत्तरों ने समस्या को हल कर लिया है। धन्यवाद!

+0

डाउनवोट क्यों? प्रति http://stackoverflow.com/faq पर, यह एक "व्यावहारिक, उत्तरदायी समस्या प्रोग्रामिंग पेशे के लिए अद्वितीय" और "विशिष्ट प्रोग्रामिंग समस्या" है। क्या इसके लिए कोई कारण है? – user1590499

+0

http://stackoverflow.com/questions/how-to-ask से: "अपना होमवर्क करें। क्या आपने अपना प्रश्न पूछने से पहले जवाब के लिए पूरी तरह से खोज की है?" आयात करना पायथन का मूल पहलू है, जो ट्यूटोरियल और अन्यत्र अच्छी तरह से कवर किया गया है। हम आपके लिए ट्यूटोरियल पढ़ने के लिए * नहीं * हैं। –

+1

प्रश्न को ऊपर उठाने के रूप में मैंने फैसला किया है कि केवी असली मॉडरेटर नहीं है – Stumbler

उत्तर

27

यह मानते हुए कि समारोह useful_function आपका प्रोग्राम फ़ाइल उसी निर्देशिका में एक फ़ाइल foreign_code.py में है, बस अपने कार्यक्रम के शीर्ष पर डाल दिया

from foreign_code import useful_function 

+2

इस मामले के बारे में क्या है जब फ़ंक्शन को परिभाषित करने वाले फ़ंक्शन और प्रोग्राम का उपयोग करने वाले प्रोग्राम अलग-अलग निर्देशिकाओं में हैं .. – Trojosh

3

आपको अन्य फ़ाइल (या केवल उस फ़ाइल का फ़ंक्शन नाम) import की आवश्यकता है। संदर्भ के लिए tutorial on modules पर देखें। यह न भूलें कि जब आप उन्हें आयात करते हैं तो स्क्रिप्ट निष्पादित की जाती हैं।

+0

सहायता के लिए धन्यवाद! – user1590499

5

अन्य फ़ाइल की प्रकृति के आधार पर, इसे आयात करना एक अच्छा समाधान हो सकता है।

from otherfile import big_function 

for something something: 
    big_function() 
+1

यह 'tfmo अन्य फ़ाइल आयात big_function' का उपयोग करने के लिए बेहतर है, ताकि 'otherfile.big_function' को बार-बार कॉल करने से बचें (याद रखें, प्रत्येक '.' पायथन में एक फ़ंक्शन कॉल है)। –

+0

@PierreGM अच्छा बिंदु। मैंने तदनुसार अपना जवाब अपडेट कर लिया है। – skunkfrukt

+0

@NamidaAneskans, मदद के लिए धन्यवाद! – user1590499