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


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
>>>

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

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>)

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 *

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 *



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.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.