मैं अपनी .py फ़ाइल को फ़ाइल स्वीकार करने के लिए चाहता हूं जो मैं कमांड लाइन में इनपुट के रूप में देता हूं। मैंने sys.argv [] और फ़ाइल इनपुट भी इस्तेमाल किया लेकिन मुझे आउटपुट नहीं मिल रहा है।पायथन में कमांड लाइन तर्क के रूप में दी गई फ़ाइलों को कैसे खोलें?
उत्तर
आप निम्न स्क्रिप्ट लिखेंगे हैं:
#!/usr/bin/env python
import sys
with open(sys.argv[1], 'r') as my_file:
print(my_file.read())
और इसे चलाने के लिए, यह फ़ाइल की सामग्री जिसका नाम आप पहले तर्क में पारित उस तरह प्रदर्शित होगा:
./my_script.py test.txt
(उपरोक्त उदाहरण में यह फ़ाइल test.txt
होगी)।
@ टेडेक - अरे यह काम करता है। : डी धन्यवाद :) – Ram
@ राम: मुझे खुशी है कि इससे मदद मिली। क्या आपके कोई अतिरिक्त प्रश्न हैं? – Tadeck
नहीं, मैंने वास्तव में आउटपुट सबमिट किया है और एक पूर्ण स्कोर प्राप्त किया है! धन्यवाद :) मैंने इसे 'sys.arg' के साथ किया लेकिन मुझे त्रुटियां मिलीं, इसलिए मुझे नहीं पता था कि मैं क्या गलती कर रहा था। आपकी पोस्ट पढ़ने के बाद मैंने सीखा कि 'sys.argv' कमांड लाइन तर्क को सरणी के रूप में स्वीकार करता है और यही कारण है कि हम अनुक्रमण का उपयोग करते हैं। – Ram
आप सवाल स्पष्ट नहीं है। यह स्पष्ट नहीं है कि आपका लक्ष्य क्या है, आप किस आउटपुट की अपेक्षा करते हैं, आपने क्या प्रयास किया और यह कैसे खराब हुआ। कहने के बजाय "मैंने 'sys.argv []' और 'fileinput'' भी इस्तेमाल किया, यह आपके वास्तविक कोड को दिखाने के लिए बेहतर होगा। कहने के बजाय "मुझे आउटपुट नहीं मिल रहा है," आपके द्वारा प्राप्त आउटपुट और आउटपुट को बेहतर दिखाएं। –
कार्य यह है कि मुझे यह जांचने की आवश्यकता है कि स्ट्रिंग युक्त दी गई फ़ाइल एक वैध ईमेल पता है या नहीं। पूर्व के लिए: यदि चार लाइनें हैं, तो मुझे यह जांचना होगा कि प्रत्येक पंक्ति एक मान्य ईमेल पता है या नहीं। हालांकि मैं इसे जांचने में सक्षम था। मुझे इनपुट के रूप में दी गई फ़ाइल के लिए आवश्यक आउटपुट मिला। मैं इसे विशेष .py फ़ाइल में कमांड लाइन तर्क के रूप में दी गई किसी भी फ़ाइल को स्वीकार करने के लिए संशोधित करने की कोशिश कर रहा हूं ताकि वह फ़ाइल ले सके और जांच सके कि उस फ़ाइल के पास वैध ईमेल पते हैं या नहीं। – Ram
मैं इस कार्यक्रम को अपनी वीएम मशीन (उबंटू) में कर रहा था इसलिए मैं इसे अपनी विंडोज मशीन में पेस्ट कॉपी नहीं कर सका। – Ram