2011-03-03 10 views
8

यह शायद पहले कहा गया है, और वास्तव में बुनियादी है में एक स्क्रिप्ट आयात करें, लेकिन:पायथन: निष्क्रिय

मैं Windows 7. उपयोग कर रहा हूँ मैं अजगर 2.4.4 और 3.1 से प्रयोग में नहीं है। मेरे पास मेरे फाइल सिस्टम पर मनमानी स्थानों में रहने वाली कुछ स्क्रिप्ट हैं। मैं उन्हें आयात करना चाहता हूं और अपने प्रकार के साथ खेलना चाहता हूं। ऐसा मैं किस प्रकार करूं?

उबंटू में, कमांड लाइन पर, import scriptname काम करता है अगर निर्देशिका मैं से python बुलाया scriptname शामिल हैं। मैं कहीं और से एक स्क्रिप्ट कैसे आयात करूं?

+1

http://docs.python.org/tutorial/modules.html#the-module-search-path –

उत्तर

6

निष्क्रिय में आप अपनी scriptname.py फ़ाइल वाले पथ को जोड़ सकते हैं।

>>> import pprint 
>>> import sys 
>>> print pprint.pprint(sys.path) 
# you could just move your scriptname.py to a directory in the sys.path list 
>>> sys.path.append(r"C:\Users\You\") 
>>> import scriptname 

तुम भी तरह अन्य निर्देशिकाओं शामिल करने के लिए खिड़कियों में PYTHONPATH वातावरण चर को अनुकूलित कर सकता है "C: \ Users \ आप \ lib"

+2

बचें मत भूलना sys.path (sys.path.append ("सी: \\ उपयोगकर्ता \\ आप \\") या बस sys.path.append (r "सी: \ उपयोगकर्ता \ आप \") में जो निर्देशिका आप जोड़ते हैं उसमें बैकस्लैश) – cwa

+0

... या sys.path.append ('सी:/उपयोगकर्ता/आप') – kmote

1

निष्क्रिय से एक स्क्रिप्ट आयात करने के लिए, आप कर सकते हैं:

>>> import os 
>>> os.chdir('C:\\Users\\You\\Some\\Arbitrary\\Path') 
>>> import scriptname 

आप स्क्रिप्ट में कुछ बदल लेते हैं जैसे scriptname.myClass(...)

, ध्यान रखें कि आप scriptname. प्रीपेंड साथ कंस्ट्रक्टर को कॉल करना होगा रखें, आप इस तरह यह फिर से लोड करने की आवश्यकता होगी: अगर आप सिर्फ एक स्क्रिप्ट से प्रकार के साथ चारों ओर खेलना चाहते

>>> import imp 
>>> imp.reload(scriptname) 

(वहाँ एक आसान तरीका है, और स्क्रिप्ट केवल समारोह और वर्ग परिभाषाओं (कोई चल कोड) है या नहीं। फिर आप आईडीएलई में स्क्रिप्ट खोल सकते हैं और Run>Run Module पर जा सकते हैं। जब आप इस विधि का उपयोग करते हैं, तो रचनाकारों से पहले scriptname. डालना आवश्यक नहीं है।)

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