Comment charger un fichier dans la console python?

208

J'ai quelques lignes de code python que je copie / colle continuellement dans la console python. Y a-t-il une loadcommande ou quelque chose que je peux exécuter? par exempleload file.py

sybind
la source
15
import file. Pas d' .pyextension.
Mikel
1
Lorsque import fileest utilisé, les variables de filene sont pas accessibles.
Kadir
5
En fait, la variable est accessible. Essayez file.variable.
Tim Ludwinski

Réponses:

197

Pour Python 2 (voir les autres réponses pour Python 3), essayez ceci:

execfile('file.py')

Exemple d'utilisation:

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
>>>
John Machin
la source
1
Pouvez-vous expliquer votre utilisation de copy con? D'après ce que je lis, il n'est utilisé que pour copier des fichiers computerhope.com/copyhlp.htm
CodyBugstein
12
Il a copié depuis la console (traité comme un fichier) vers execfile_example.py. ^ Z est la fin du fichier. C'est juste un moyen de placer du texte dans un fichier sans ouvrir d'éditeur.
IJ Kennedy
Voir la réponse de @Arafangion si vous n'êtes pas encore dans la console.
Barry McNamara
166

Depuis la page de manuel:

-i Lorsqu'un script est transmis comme premier argument ou que l'option -c est utilisée, entrez en mode interactif après avoir exécuté le script ou la commande. Il ne lit pas le fichier $ PYTHONSTARTUP. Cela peut être utile pour inspecter des variables globales ou une trace de pile lorsqu'un script déclenche une exception.

Donc, cela devrait faire ce que vous voulez:

python -i file.py
Arafangion
la source
7
C'est une excellente façon de procéder si vous n'êtes pas encore dans la console. Merci pour l'astuce Arafangion
SomeShinyObject
89

Python 3: nouveau exec (execfile abandonné) !

La solution execfile n'est valide que pour Python 2. Python 3 a supprimé la fonction execfile - et a promu l'instruction exec en fonction universelle intégrée. Comme le commentaire du journal des modifications de Python 3.0 et Hi-Angels le suggère:

utilisation

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

au lieu de

execfile(<filename.py>)
h1618
la source
si le fichier contient des instructions d'importation, par exemple import os, exec()exécute-t-il ces instructions? J'essaie actuellement et la réponse semble être non ...
Rylan Schaeffer
25

Depuis la ligne de commande du shell:

python file.py

Depuis la ligne de commande Python

import file

ou

from file import *
Fred Foo
la source
8
Et reload(file)quand vous y avez changé quelque chose.
Santa
1
C'est from file import *, nonimport * from file
Kindall
1
Le fichier doit-il être un directeur spécifique? J'essaye avec son chemin complet et ça ne marche pas.
CodyBugstein
import directory.subdirectory.file
Seth
14

Vous pouvez simplement utiliser une instruction d'importation:

from file import *

Ainsi, par exemple, si vous aviez un fichier nommé, my_script.pyvous le chargeriez comme ceci:

from my_script import *
amicitas
la source
0

Si votre pathvariable d'environnement contient Python (par exemple C:\Python27\), vous pouvez exécuter votre fichier py simplement à partir de la ligne de commande Windows (cmd). Comment faire ici.


la source