पर stdin filepath ढूंढ रहा है मैं अपने stdios से जुड़ी फ़ाइल (या tty) कैसे कह सकता हूं?पाइथन लिनक्स
कुछ की तरह:
>>> import sys
>>> print sys.stdin.__path__
'/dev/tty1'
>>>
मैं proc में दे सकता है:
import os, sys
os.readlink('/proc/self/fd/%s' % sys.stdin.fileno())
लेकिन जैसे वहाँ अंतर्निहित तरीका होना चाहिए लगता है?
के साथ परीक्षण करने के लिए इतना आसान है कि ध्यान रखें कि 'stdout' et। अल। एक फ़ाइल जैसी वस्तु हो सकती है जिसमें 'name' और/या' isatty() 'नहीं है, इसलिए आपको इसके होने के लिए तैयार रहना चाहिए। – kindall
मैं यह जानने की उम्मीद कर रहा था कि मुझे किस टीटीई डिवाइस से जोड़ा गया था (यदि stdios एक TTY से जुड़े हुए हैं) – tMC
@kindall: बेशक; जो कुछ भी आवश्यक है, उसके लिए एक 'लेखन' विधि है। @tMC: तो आप जो भी कर सकते हैं वह '/ proc' फाइल सिस्टम की जांच कर रहा है, या यदि ओएस पुस्तकालय के माध्यम से ऐसी जानकारी प्रदान करता है, तो उस जानकारी तक पहुंचने के लिए ctypes का उपयोग करें। AFAIC के लिए इसके लिए कोई और stdlib पायथन एपीआई नहीं है। –