Bagaimana cara memuat file ke konsol python?


208

Saya memiliki beberapa baris kode python yang terus saya salin / tempelkan ke konsol python. Apakah ada loadperintah atau sesuatu yang bisa saya jalankan? misalnyaload file.py


15
import file. Tidak ada .pyekstensi.
Mikel

1
Saat import filedigunakan, variabel dalam filetidak dapat diakses.
Kadir

5
Sebenarnya, variabel dapat diakses. Coba file.variable.
Tim Ludwinski

Jawaban:


197

Untuk Python 2 (lihat jawaban lain untuk Python 3) coba ini:

execfile('file.py')

Contoh penggunaan:

C:\junk>copy con execfile_example.py
a = [9, 42, 888]
b = len(a)
^Z
        1 file(s) copied.

C:\junk>\python27\python
Python 2.7.1 (r271:86832, Nov 27 2010, 18:30:46) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> execfile('execfile_example.py')
>>> a
[9, 42, 888]
>>> b
3
>>>

1
Bisakah Anda jelaskan penggunaannya copy con? Dari apa yang saya baca itu hanya digunakan untuk menyalin file computerhope.com/copyhlp.htm
CodyBugstein

12
Dia menyalin dari konsol (diperlakukan sebagai file) ke execfile_example.py. ^ Z adalah akhir dari file. Ini hanya cara untuk memasukkan teks ke file tanpa membuka editor.
IJ Kennedy

Lihat jawaban dari @Arafangion jika Anda belum berada di konsol.
Barry McNamara

166

Dari halaman manual:

-i Ketika skrip diteruskan sebagai argumen pertama atau opsi -c digunakan, masuk ke mode interaktif setelah mengeksekusi skrip atau perintah. Itu tidak membaca file $ PYTHONSTARTUP. Ini berguna untuk memeriksa variabel global atau jejak stack saat skrip memunculkan eksepsi.

Jadi ini harus melakukan apa yang Anda inginkan:

python -i file.py

7
Ini cara yang bagus untuk digunakan jika Anda belum di konsol. Terima kasih atas tipnya Arafangion
SomeShinyObject

89

Python 3: exec baru (execfile turun) !

Solusi execfile hanya valid untuk Python 2. Python 3 menjatuhkan fungsi execfile - dan mempromosikan pernyataan exec ke fungsi universal builtin. Seperti komentar dalam komentar Python 3.0 changelog dan Hi-Angels menyarankan:

menggunakan

exec(open(<filename.py>).read())

dari pada

execfile(<filename.py>)

jika file tersebut berisi pernyataan impor mis. import os, apakah exec()menjalankan pernyataan itu? Saya sedang mencoba ini saat ini dan jawabannya tampaknya tidak ...
Rylan Schaeffer

25

Dari baris perintah shell:

python file.py

Dari baris perintah Python

import file

atau

from file import *

8
Dan reload(file)ketika Anda telah mengubah sesuatu di dalamnya.
Santa

1
Itu from file import *, tidakimport * from file
hati

1
Apakah file harus dalam direktur khusus? Saya mencobanya dengan path lengkapnya dan tidak berfungsi.
CodyBugstein

import directory.subdirectory.file
Seth

14

Anda bisa menggunakan pernyataan impor:

from file import *

Jadi, misalnya, jika Anda memiliki file bernama my_script.pyAnda akan memuatnya seperti ini:

from my_script import *



0

Jika pathvariabel lingkungan Anda berisi Python (mis. C:\Python27\) Anda dapat menjalankan file py Anda hanya dari baris perintah Windows (cmd). Bagaimana caranya di sini.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.