2012-01-24 8 views
8

मुझे पता है कि यह कुछ ऐसा लगता है जैसे मैं Google कर सकता हूं, लेकिन सच्चाई यह है कि मुझे नहीं लगता कि मुझे बहुत कम पाइथन 3 स्रोत बताते हैं या नहीं समझते हैं।क्या कोई मुझे पाइथन 3 में स्टडीन और स्टडआउट में त्वरित ट्यूटोरियल दे सकता है?

तो यहाँ मेरे सवालों हैं:

  • input() अजगर 3 में stdin समारोह है? क्या इसका मतलब यह है कि जब आप अपना filename.py प्रोग्राम खोलते हैं, तो stdin उपयोगकर्ता प्रकार क्या है?
  • print()stdout पायथन 3 में फ़ंक्शन है, या आपको फ़ाइल में लिखना है?
  • Spotify puzzle, कहता है "इनपुट stdin से पढ़ा जाता है"। मेरी फ़ाइल में stdin और stdout शामिल होना चाहिए?

अद्यतन: कि मतलब यह है कि मैं का उपयोग कर सकते हैं:

import sys 
unfmtdDate = str(sys.stdin.read()) 

... के बजाय ...

unfmtdDate = str(input()) 

?

+0

'stdin function' और 'stout function' से आपका क्या मतलब है? Stdin और stout फाइलें हैं। काम नहीं करता इन फ़ाइलों में पढ़ने या लिखने के तरीके हैं। क्या आप स्पष्ट कर सकते हैं कि आपका क्या मतलब है? –

+0

मेरा मतलब है कि आप फ़ाइलों को कैसे लिखते हैं, और क्या उन फ़ाइलों को देखना संभव है? –

+0

उत्तर हैं: 1. "हाँ और हाँ"। 2. "हां"। 3. "हू? वह सवाल कोई समझ नहीं आता है।" अपडेट करें: "हां, और नहीं।" –

उत्तर

7

stdin और stdout ओएस द्वारा प्रदान की गई फ़ाइल जैसी वस्तुएं हैं। आम तौर पर, जब एक इंटरैक्टिव सत्र में कोई प्रोग्राम चलाया जाता है, तो stdin कीबोर्ड इनपुट होता है और stdout उपयोगकर्ता का tty है, लेकिन खोल को सामान्य फ़ाइलों या पाइप आउटपुट से अन्य प्रोग्राम्स में रीडायरेक्ट करने के लिए उपयोग किया जा सकता है।

input() उपयोगकर्ता को टाइप किए गए इनपुट के लिए संकेत देने के लिए उपयोग किया जाता है। एक प्रोग्रामिंग पहेली की तरह कुछ के मामले में, यह आमतौर पर माना जाता है कि stdin को डेटा फ़ाइल से रीडायरेक्ट किया जाता है, और जब इनपुट प्रारूप दिया जाता है तो input() के साथ इनपुट के लिए संकेत देने के बजाय sys.stdin.read() का उपयोग करना सबसे अच्छा होता है। input() इंटरैक्टिव उपयोगकर्ता इनपुट के लिए करना है, यह एक संकेत (sys.stdout पर) आदि का सबसे आम तरीका प्रदर्शित करने और जीएनयू ReadLine पुस्तकालय (यदि है) लाइन संपादन अनुमति देने के लिए उपयोग कर सकते हैं,

print() वास्तव में, है, stdout पर लिखना। आउटपुट स्ट्रीम निर्दिष्ट करने के लिए कुछ भी विशेष करने की आवश्यकता नहीं है। print()sys.stdout पर लिखता है यदि file= पैरामीटर के रूप में कोई वैकल्पिक फ़ाइल नहीं दी जाती है।

+0

@ Wooble बहुत धन्यवाद नहीं होगा! –

0
the Python documentation for print से

:

फ़ाइल तर्क एक write(string) विधि के साथ एक वस्तु होना चाहिए; यदि यह मौजूद नहीं है या None, sys.stdout का उपयोग किया जाएगा। आउटपुट बफरिंग फ़ाइल द्वारा निर्धारित की जाती है। उदाहरण के लिए, स्क्रीन पर तत्काल उपस्थिति सुनिश्चित करने के लिए file.flush() का उपयोग करें।

0

input() अजगर 3 में stdin समारोह है?

हां।

क्या इसका मतलब यह है कि जब आप अपना filename.py प्रोग्राम खोलते हैं, तो stdin उपयोगकर्ता प्रकार क्या है?

हां।

print()stdout पायथन 3 में फ़ंक्शन है, या क्या आपको फ़ाइल में लिखना है?

आप या तो उपयोग कर सकते हैं।

स्पॉटिफ़ पहेली के लिए, "इनपुट स्टडीन से पढ़ा जाता है" कहता है। मेरी फ़ाइल में stdin और stdout शामिल होना चाहिए?

बस import sys का उपयोग sys.stdin और sys.stdout फ़ाइलों को पाने के लिए। यदि आप इसके बजाय input और print अंतर्निहित फ़ंक्शंस का उपयोग करते हैं तो आपको आयात की आवश्यकता नहीं है।

+3

'स्टउट'? 'Stein'? एक और बियर है! –

+0

@ माइक डीसिमोन धन्यवाद! –

+0

@ ग्रेग हेगिल: मेरा ब्राउज़र स्वयं को एक स्वत: सही भविष्य में उभरा है। यह कष्टप्रद है। –

0

क्या इनपुट() पायथन 3 में stdin फ़ंक्शन है? क्या इसका मतलब यह है कि जब आप अपना filename.py प्रोग्राम खोलते हैं, तो stdin उपयोगकर्ता प्रकार क्या है?

input() मानक इनपुट (कुछ संदर्भों में छोटे के लिए stdin कहा जाता है) से पढ़ता है, हाँ। मुझे कोई भी भाषा नहीं है जो फ़ंक्शन मानक लाइब्रेरी में stdin नामित है। जब आप सामान्य तरीके से प्रोग्राम चलाते हैं, तो उपयोगकर्ता इनपुट को मानक इनपुट में क्या प्रदान किया जाता है, हां। यही "मानक इनपुट" का अर्थ है। एक अलग कार्यक्रम है जो उपयोगकर्ता को मानक इनपुट के प्रकार को खिला रहा है (और बैकस्पेस कुंजी की व्याख्या करने जैसी कुछ अन्य सुविधाजनक चीजें कर रहा है)। आपकी स्क्रिप्ट वह नहीं है जो विंडो बनाता है जिसमें पाठ टाइप किया गया है।

sys.stdin (जैसे कि, मूल्य stdinsys मॉड्यूल में परिभाषित) एक वस्तु कि का प्रतिनिधित्व करता है मानक इनपुट है। यह प्रदान किया जाता है ताकि आप इसे संदर्भ में उपयोग कर सकें जहां आपको फ़ाइल के बजाय उपयोगकर्ता से इनपुट पढ़ने के लिए "फ़ाइल" निर्दिष्ट करने की अपेक्षा की जाती है।

प्रिंट() पाइथन 3 में stdout फ़ंक्शन है, या क्या आपको फ़ाइल में लिखना है?

print() (डिफ़ॉल्ट रूप से, आप एक file कीवर्ड तर्क यह बदलने के लिए आपूर्ति कर सकते हैं) लिखते हैं, मानक उत्पादन (कुछ संदर्भों में छोटे के लिए stdout कहा जाता है) करने के लिए हाँ। उपर्युक्त सभी चेतावनी लागू होती हैं: stdout किसी भी भाषा में मैंने कभी भी सुना नहीं है, और एक पूरी तरह से अलग प्रोग्राम वास्तव में आपकी स्क्रिप्ट के आउटपुट को एक सुंदर 80x24 सफेद-टेक्स्ट-ऑन-स्क्रीन में स्क्रीन पर प्रदर्शित करने का कारण बन रहा है। ब्लैक-बैकग्राउंड (या फिर आपने इसे कॉन्फ़िगर किया है) बॉक्स।

sys.stdout एक वस्तु कि का प्रतिनिधित्व करता है मानक आउटपुट, sys.stdin की तरह ही उपयोग है। आप इसे print फ़ंक्शन के साथ स्पष्ट रूप से उपयोग कर सकते हैं, लेकिन कोई बात नहीं है: यह डिफ़ॉल्ट है।

स्पॉटिफ़ पहेली के लिए, "इनपुट स्टडीन से पढ़ा जाता है" कहता है। मेरी फ़ाइल में stdin और stdout शामिल होना चाहिए?

समस्या विनिर्देश का अर्थ है "इनपुट प्राप्त करने के लिए input() फ़ंक्शन का उपयोग करें"।

+0

ध्यान दें कि 'इनपुट() '** एक निर्दिष्ट फ़ाइल से ** नहीं पढ़ सकता है (मानक इनपुट फ़ाइल होने का कारण बनने के तरीके हैं, लेकिन फिर, यह आमतौर पर आपके प्रोग्राम के लिए बाहरी है)। यह 'प्रिंट() 'फ़ंक्शन के साथ बिल्कुल सममित नहीं होना है। आखिरकार, यह एक प्रॉम्प्ट प्रदर्शित करता है ... फ़ाइल से पढ़ने के दौरान एक प्रॉम्प्ट प्रदर्शित करने के लिए समझ में नहीं आता है, देखें? –

1

जब आप अपने अजगर कार्यक्रम चलाने, sys.stdin फ़ाइल मानक इनपुट (STDIN) से जुड़ा वस्तु है, sys.stdout मानक निर्गम (STDOUT) के लिए फ़ाइल वस्तु है, और sys.stderr मानक त्रुटि (STDERR) के लिए फ़ाइल वस्तु है।

दस्तावेज में कहीं भी आप मानक इनपुट, मानक आउटपुट, या मानक त्रुटि के संदर्भ देखते हैं, यह इन फाइल हैंडल का जिक्र कर रहा है। आप उन्हें सीधे (sys.stdout.write(...), sys.stdin.read() इत्यादि) तक पहुंच सकते हैं या इन स्ट्रीमों का उपयोग करने वाले सुविधा कार्यों का उपयोग कर सकते हैं, जैसे input() और print()

import sys 
data = sys.stdin.read() 

इन दो पंक्तियों अपने कार्यक्रम के लिए इनपुट अब str data में है के बाद:

Spotify पहेली के लिए, इनपुट को पढ़ने के लिए सबसे आसान तरीका कुछ इस तरह होगा।

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

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