Bagaimana cara menjalankan skrip python dari dalam shell interaktif IDLE?
Kesalahan berikut melontarkan:
>>> python helloworld.py
SyntaxError: invalid syntax
python helloworld.py
di jendela shell IDLE dan itu tidak berfungsi.
Bagaimana cara menjalankan skrip python dari dalam shell interaktif IDLE?
Kesalahan berikut melontarkan:
>>> python helloworld.py
SyntaxError: invalid syntax
python helloworld.py
di jendela shell IDLE dan itu tidak berfungsi.
Jawaban:
Python3 :
exec(open('helloworld.py').read())
Jika file Anda tidak di direktori yang sama:
exec(open('./app/filename.py').read())
Lihat https://stackoverflow.com/a/437857/739577 untuk meneruskan variabel global / lokal.
Dalam versi Python yang tidak digunakan lagi
Python2 Built-in fungsi: execfile
execfile('helloworld.py')
Biasanya tidak dapat dipanggil dengan argumen. Tapi inilah solusinya:
import sys
sys.argv = ['helloworld.py', 'arg'] # argv[0] should still be the script name
execfile('helloworld.py')
Tidak digunakan lagi sejak 2.6: popen
import os
os.popen('python helloworld.py') # Just run the program
os.popen('python helloworld.py').read() # Also gets you the stdout
Dengan argumen:
os.popen('python helloworld.py arg').read()
Penggunaan lanjutan : subproses
import subprocess
subprocess.call(['python', 'helloworld.py']) # Just run the program
subprocess.check_output(['python', 'helloworld.py']) # Also gets you the stdout
Dengan argumen:
subprocess.call(['python', 'helloworld.py', 'arg'])
Baca dokumen untuk detailnya :-)
Diuji dengan dasar ini helloworld.py
:
import sys
if len(sys.argv) > 1:
print(sys.argv[1])
exec
untuk Python3
Anda dapat menggunakan ini di python3:
exec(open(filename).read())
Jendela shell IDLE tidak sama dengan shell terminal (mis. Menjalankan sh
atau bash
). Sebaliknya, ini seperti berada di interpreter interaktif Python ( python -i
). Cara termudah untuk menjalankan skrip di IDLE adalah dengan menggunakan Open
perintah dari File
menu (ini mungkin sedikit berbeda tergantung pada platform mana yang Anda jalankan) untuk memuat file skrip Anda ke jendela editor IDLE dan kemudian gunakan Run
-> Run Module
perintah (pintasan F5).
sys.argv
di awal program, misalnya, di bawah if __name__ == "__main__"
boilerplate biasa .
Run
-> Run with Customized...
(pintasan Shift + F5) dan popup akan terbuka di mana Anda dapat memberikan argumen Anda. Sayangnya itu tidak mengingat mereka saat ini sehingga Anda akan menempelkannya di setiap proses.
Coba ini
import os
import subprocess
DIR = os.path.join('C:\\', 'Users', 'Sergey', 'Desktop', 'helloword.py')
subprocess.call(['python', DIR])
execFile('helloworld.py')
melakukan pekerjaan untuk saya. Hal yang perlu diperhatikan adalah memasukkan nama direktori lengkap dari file .py jika tidak ada di folder Python itu sendiri (setidaknya ini terjadi di Windows)
Sebagai contoh, execFile('C:/helloworld.py')
Sebagai contoh:
import subprocess
subprocess.call("C:\helloworld.py")
subprocess.call(["python", "-h"])
subprocess.call(r'c:\path\to\something.py')
tidak bekerja untuk saya. OSError: [WinError 193]% 1 bukan aplikasi Win32 yang valid
Di IDLE, pekerjaan berikut: -
import helloworld
Saya tidak tahu banyak tentang mengapa itu berhasil, tapi itu ..
Untuk menjalankan skrip python dalam shell python seperti Idle atau dalam shell Django Anda dapat melakukan hal berikut menggunakan fungsi exec (). Exec () mengeksekusi argumen objek kode. Objek kode dalam Python adalah kode Python yang dikompilasi. Jadi, Anda harus terlebih dahulu mengkompilasi file skrip Anda dan kemudian menjalankannya menggunakan exec (). Dari cangkang Anda:
>>>file_to_compile = open('/path/to/your/file.py').read() >>>code_object = compile(file_to_compile, '<string>', 'exec') >>>exec(code_object)
Saya menggunakan Python 3.4. Lihat dokumen kompilasi dan eksekutif untuk info lebih lanjut.
Saya menguji ini dan itu berhasil:
exec(open('filename').read()) # Don't forget to put the filename between ' '
Di lingkungan Windows, Anda dapat mengeksekusi file py pada baris perintah shell Python3 dengan sintaks berikut:
exec (open ('path absolut ke nama_file'). read ())
Di bawah ini menjelaskan cara menjalankan file helloworld.py sederhana dari baris perintah shell python
Lokasi File: C: /Users/testuser/testfolder/helloworld.py
Isi File: print ("hello world")
Kami dapat menjalankan file ini di Python3.7 Shell seperti di bawah ini:
>>> 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
Ada satu alternatif lagi (untuk windows) -
import os
os.system('py "<path of program with extension>"')
Di konsol python, seseorang dapat mencoba 2 cara berikut.
di bawah direktori kerja yang sama,
1. >> impor helloworld
# jika Anda memiliki variabel x , Anda dapat mencetaknya di IDLE.
>> helloworld.x
# jika Anda memiliki fungsi func , Anda juga dapat memanggilnya seperti ini.
>> helloworld.func ()
2. >> runfile ("./ helloworld.py")
helloworld.py
terlihat seperti?