मैं IDLE इंटरेक्टिव शेल के भीतर से एक पायथन स्क्रिप्ट कैसे चलाऊँ?
निम्नलिखित एक त्रुटि फेंकता है:
>>> python helloworld.py
SyntaxError: invalid syntax
python helloworld.py
एक आईडीएलई शेल विंडो में टाइप कर रहा है और यह काम नहीं करता है।
मैं IDLE इंटरेक्टिव शेल के भीतर से एक पायथन स्क्रिप्ट कैसे चलाऊँ?
निम्नलिखित एक त्रुटि फेंकता है:
>>> python helloworld.py
SyntaxError: invalid syntax
python helloworld.py
एक आईडीएलई शेल विंडो में टाइप कर रहा है और यह काम नहीं करता है।
जवाबों:
पायथन 3 :
exec(open('helloworld.py').read())
यदि आपकी फ़ाइल उसी dir में नहीं है:
exec(open('./app/filename.py').read())
वैश्विक / स्थानीय चर पास करने के लिए https://stackoverflow.com/a/437857/739577 देखें ।
पदावनत पायथन संस्करणों में
Python2 बिल्ट-इन फ़ंक्शन: एक्सेफाइल
execfile('helloworld.py')
इसे आम तौर पर तर्कों के साथ नहीं कहा जा सकता है। लेकिन यहाँ एक समाधान है:
import sys
sys.argv = ['helloworld.py', 'arg'] # argv[0] should still be the script name
execfile('helloworld.py')
2.6 के बाद से पदावनत: पोपेन
import os
os.popen('python helloworld.py') # Just run the program
os.popen('python helloworld.py').read() # Also gets you the stdout
तर्कों के साथ:
os.popen('python helloworld.py arg').read()
अग्रिम उपयोग: उपप्रकार
import subprocess
subprocess.call(['python', 'helloworld.py']) # Just run the program
subprocess.check_output(['python', 'helloworld.py']) # Also gets you the stdout
तर्कों के साथ:
subprocess.call(['python', 'helloworld.py', 'arg'])
विवरण के लिए डॉक्स पढ़ें :-)
इस मूल के साथ परीक्षण किया गया helloworld.py
:
import sys
if len(sys.argv) > 1:
print(sys.argv[1])
exec
Python3 के लिए
IDLE शेल विंडो टर्मिनल शेल (जैसे चल रहा है sh
या bash
) के समान नहीं है। बल्कि, यह पाइथन इंटरएक्टिव इंटरप्रेटर ( python -i
) में होने जैसा है । IDLE में स्क्रिप्ट चलाने का सबसे आसान तरीका है मेनू Open
से कमांड का उपयोग करना File
(यह आपकी आईडी फ़ाइल संपादक विंडो में लोड करने के लिए किस प्लेटफॉर्म पर चल रहा है) के आधार पर थोड़ा भिन्न हो सकता है और फिर Run
-> Run Module
कमांड (शॉर्टकट) का उपयोग करें F5)।
sys.argv
प्रोग्राम की शुरुआत में मैन्युअल रूप से प्रारंभ करना है , उदाहरण के लिए, सामान्य if __name__ == "__main__"
बॉयलरप्लेट के तहत ।
Run
-> Run with Customized...
कमांड (शॉर्टकट Shift + F5) और एक पॉपअप खुल जाएगा जहां आप अपने तर्क दे सकते हैं। दुर्भाग्य से यह उन्हें वर्तमान में याद नहीं है इसलिए आप उन्हें हर रन के साथ चिपकाएंगे।
इसे इस्तेमाल करे
import os
import subprocess
DIR = os.path.join('C:\\', 'Users', 'Sergey', 'Desktop', 'helloword.py')
subprocess.call(['python', DIR])
execFile('helloworld.py')
मेरे लिए काम करता है। ध्यान देने वाली बात यह है कि .py फ़ाइल का पूर्ण निर्देशिका नाम दर्ज करना है यदि यह पायथन फ़ोल्डर में ही नहीं है (कम से कम यह विंडोज़ पर मामला है)
उदाहरण के लिए, execFile('C:/helloworld.py')
उदाहरण के लिए:
import subprocess
subprocess.call("C:\helloworld.py")
subprocess.call(["python", "-h"])
subprocess.call(r'c:\path\to\something.py')
मेरे लिए काम नहीं करता है। OSError: [WinError 193]% 1 वैध Win32 एप्लीकेशन नहीं है
IDLE में, निम्नलिखित कार्य हैं: -
import helloworld
मैं इसके बारे में ज्यादा नहीं जानता कि यह क्यों काम करता है, लेकिन यह करता है ..
एक अजगर खोल में अजगर स्क्रिप्ट चलाने के लिए जैसे कि आइडल या एक Django शेल में आप निष्पादन () फ़ंक्शन का उपयोग करके निम्नलिखित कर सकते हैं। Exec () कोड ऑब्जेक्ट तर्क निष्पादित करता है। पायथन में एक कोड ऑब्जेक्ट बस पायथन कोड संकलित है। इसलिए आपको पहले अपनी स्क्रिप्ट फ़ाइल को संकलित करना होगा और फिर निष्पादन () का उपयोग करके इसे निष्पादित करना होगा। अपने खोल से:
>>>file_to_compile = open('/path/to/your/file.py').read() >>>code_object = compile(file_to_compile, '<string>', 'exec') >>>exec(code_object)
मैं पायथन 3.4 का उपयोग कर रहा हूं। विस्तृत जानकारी के लिए संकलन और निष्पादन डॉक्स देखें ।
मैंने इसका परीक्षण किया और यह पता चलता है:
exec(open('filename').read()) # Don't forget to put the filename between ' '
विंडोज पर्यावरण पर, आप पायथन फाइल को निम्नलिखित सिंटैक्स के साथ पायथन 3 शेल कमांड लाइन पर निष्पादित कर सकते हैं:
निष्पादन (खुला (file_name के लिए पूर्ण पथ))। () पढ़ें
नीचे बताया गया है कि अजगर शेल कमांड लाइन से एक साधारण हेलोवर्ल्डहोम फ़ाइल कैसे निष्पादित करें
फ़ाइल स्थान: C: /User/testuser/testfolder/helloworld.py
फ़ाइल सामग्री: प्रिंट ("हैलो वर्ल्ड")
हम पायथन 3.7 शेल पर इस फाइल को नीचे के रूप में निष्पादित कर सकते हैं:
>>> import os
>>> abs_path = 'C://Users/testuser/testfolder'
>>> os.chdir(abs_path)
>>> os.getcwd()
'C:\\Users\\testuser\\testfolder'
>>> exec(open("helloworld.py").read())
hello world
>>> exec(open("C:\\Users\\testuser\\testfolder\\helloworld.py").read())
hello world
>>> os.path.abspath("helloworld.py")
'C:\\Users\\testuser\\testfolder\\helloworld.py'
>>> import helloworld
hello world
एक और विकल्प है (विंडोज़ के लिए) -
import os
os.system('py "<path of program with extension>"')
एक पायथन कंसोल में, व्यक्ति निम्नलिखित 2 तरीकों की कोशिश कर सकता है।
उसी कार्य निर्देशिका के तहत,
1. ... जहन्नुम आयात करें
# यदि आपके पास एक चर x है , तो आप इसे IDLE में प्रिंट कर सकते हैं।
>> Helloworld.x
# अगर आपके पास फंक्शन फंक है , तो आप इसे इस तरह भी कह सकते हैं।
>> Helloworld.func ()
2. "रनफाइल (" ./ helloworld.py ")
helloworld.py
दिखता है?