मुझे बस चीजों को सही तरीके से करने के तरीके पर एक संकेत की आवश्यकता है।subprocess.Popen: तर्क के रूप में एक सूची को कैसे पास करें
कहें कि मेरे पास script.py नामक एक स्क्रिप्ट है जो नामों की सूची का उपयोग तर्क ["name1", "name2", आदि] के रूप में करती है।
मैं इस स्क्रिप्ट को उपप्रोसेसर मॉड्यूल का उपयोग करके किसी अन्य स्क्रिप्ट से कॉल करना चाहता हूं।
myList = ["name1", "name2", "name3"]
subprocess.Popen(["python", "script.py", myList])
पाठ्यक्रम वह काम नहीं करता क्योंकि subprocess.Popen विधि तर्कों के रूप स्ट्रिंग की एक सूची की आवश्यकता के: तो मुझे क्या करना चाहते हैं निम्नलिखित है। तो मैं निम्नलिखित कर रही विचार: अब प्रक्रिया प्रारंभ होती है
subprocess.Popen(["python", "script.py", str(myList)])
लेकिन यह काम नहीं करता है, क्योंकि यह तर्क के रूप में एक स्ट्रिंग और नहीं एक सूची है। मुझे इसे ठीक से कैसे ठीक करना चाहिए?
या '.extend()' यदि आप अतिरिक्त तर्कों के प्रकार के बारे में अनिश्चित हैं। –
@ निकलासआर, या '+ सूची (myList) ' – falsetru
' विस्तार 'केवल तभी उपयोगी है जब आप कॉल से पहले नामित सूची संशोधित करते हैं। 'subprocess.Popen ([" पायथन "," script.py "]। (myList) का विस्तार करें)' 'कोई नहीं '(' विस्तार' का वापसी मूल्य) 'Popen() 'के पहले और एकमात्र तर्क के रूप में होगा। – chepner