2008-09-10 13 views
16

में काम करने वाले पायथन कोड लिखने के लिए कुछ रणनीतियां क्या हैं, इन दोनों वातावरणों को एक ही समय में लक्षित करने का प्रयास करने के बाद मैं सुरक्षित रूप से कह सकता हूं कि आपको डेटाबेस का उपयोग करना है या नहीं। उस पर्यावरण के लिए अद्वितीय कोड लिखें। क्या आपको इस स्थिति को संभालने का एक शानदार तरीका है?साइथन, ज्योथन और आयरनपीथन

उत्तर

15

आप आप एक वातावरण के लिए अद्वितीय कोड लिखने से संबंधित सभी जानकारियां, अजगर

import mymodule_jython as mymodule 

import mymodule_cpython as mymodule 

('' module_importer ''?) एक सरल मॉड्यूल में इस सामग्री का उपयोग करते हैं हैं और इस तरह से अपने कोड लिखने :

from module_importer import mymodule 

इस तरह, आपको केवल प्लेटफ़ॉर्म module_importer.py बदलने की आवश्यकता है।

+1

तो डैरन, वहाँ module_importer आयात सही चर गतिशील रूप से कुछ वातावरण चर आदि के आधार पर बनाने के लिए एक रास्ता है – minty

+1

क्षमा करें, मैं एक खाली यहाँ ड्राइंग कर रहा हूँ। यह एक उत्कृष्ट एसओ सवाल होगा हालांकि: "अगर हम ज्योथन, सीपीथन या आयरनपीथन चला रहे हैं तो गतिशील रूप से कैसे पता लगाएं?"। उसके बाद, आप यह भारतीय विदेश सेवा में सिर्फ कर सकता है ... –

+0

पायथन के मॉड्यूल 'os' एक उदाहरण के रूप में इस्तेमाल किया जा सकता है। यह ओएस रूटीन प्रदान करता है उदा।, ओ osunlink', 'os.rename', आदि कि आप किस प्रणाली पर हैं। – jfs

10

@Daren थॉमस: मैं मानता हूँ, लेकिन आप platform module का उपयोग निर्धारित करने के लिए चलाए जा रहे दुभाषिया चाहिए।

+1

जहाँ तक मुझे पता 'मंच' के रूप में IronPython (2.0.1) में उपलब्ध नहीं है। 'ओएस' या तो नहीं है। – Cyberdrow

2

मैं CPython और IronPython लेकिन टिप के लिए कोड लिखने के साथ-साथ Jython के लिए काम करना चाहिए।

असल में, मैं अलग मॉड्यूल/संकुल के सभी मंच विशिष्ट कोड लिखने और फिर मैं पर चल रहा हूँ मंच के आधार पर उपयुक्त एक आयात करते हैं। (ऊपर cdleary की टिप्पणी देखें)

यह विशेष रूप से महत्वपूर्ण है, जब यह SQLite कार्यान्वयन के बीच और अगर आप किसी भी जीयूआई कोड कार्यान्वित कर रहे हैं मतभेद की बात आती है।

1

# 1 बात IMO: धागा सुरक्षा पर ध्यान दें। सीपीथन का जीआईएल थ्रेडसेफ कोड लिखना आसान बनाता है क्योंकि एक ही समय में केवल एक धागा दुभाषिया तक पहुंच सकता है। हालांकि आयरनपीथन और ज्योथन थोड़ी कम हैंड होल्डिंग हैं।

0

यहाँ खेलने में दो प्रमुख मुद्दों ... हैं

सबसे पहले, मेरी जानकारी के लिए, केवल CPython आरए II है - आप Jython, IronPython, आदि

में अपने स्वयं के संसाधनों को बंद करने के लिए है और दूसरे, के रूप में उल्लेख किया गया है, धागा सुरक्षा है।