Como carrego um arquivo no console python?


208

Eu tenho algumas linhas de código python que estou continuamente copiando / colando no console python. Existe um loadcomando ou algo que eu possa executar? por exemploload file.py


15
import file. Sem .pyextensão.
Mikel

1
Quando import fileé usado, as variáveis ​​in filenão podem ser acessadas.
Kadir

5
Na verdade, a variável pode ser acessada. Tente file.variable.
precisa saber é o seguinte

Respostas:


197

Para o Python 2 (veja outras respostas para o Python 3), experimente:

execfile('file.py')

Exemplo de uso:

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
Você pode explicar o seu uso copy con? Pelo que eu estou lendo ele só é usado para copiar arquivos computerhope.com/copyhlp.htm
CodyBugstein

12
Ele copiou do console (tratado como um arquivo) para execfile_example.py. ^ Z é o fim do arquivo. É apenas uma maneira de inserir texto em um arquivo sem abrir um editor.
IJ Kennedy

Veja a resposta de @Arafangion se você ainda não estiver no console.
Barry McNamara

166

Na página do manual:

-i Quando um script é passado como primeiro argumento ou a opção -c é usada, entre no modo interativo após executar o script ou o comando. Ele não lê o arquivo $ PYTHONSTARTUP. Isso pode ser útil para inspecionar variáveis ​​globais ou um rastreamento de pilha quando um script gera uma exceção.

Portanto, isso deve fazer o que você deseja:

python -i file.py

7
Este é um ótimo caminho a percorrer se você ainda não estiver no console. Obrigado pela dica Arafangion
SomeShinyObject 16/11/2012

89

Python 3: novo exec (execfile descartado) !

A solução execfile é válida apenas para o Python 2. O Python 3 eliminou a função execfile - e promoveu a instrução exec para uma função universal integrada. Como sugerem os comentários no changelog do Python 3.0 e no Hi-Angels:

usar

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

ao invés de

execfile(<filename.py>)

se o arquivo contiver instruções de importação, por exemplo import os, exec()executa essas instruções? Estou tentando isso atualmente e a resposta parece não ser ...
Rylan Schaeffer

25

Na linha de comando do shell:

python file.py

Na linha de comando do Python

import file

ou

from file import *

8
E reload(file)quando você mudou algo nele.
Papai

1
Daquele from file import *, nãoimport * from file
Kindall

1
O arquivo precisa ser um diretor específico? Estou tentando com todo o seu caminho e não está funcionando.
CodyBugstein 28/03/2014

Importação directory.subdirectory.file
Seth

14

Você pode apenas usar uma declaração de importação:

from file import *

Então, por exemplo, se você tivesse um arquivo chamado, my_script.pycarregaria da seguinte maneira:

from my_script import *



0

Se seu path variável de ambiente contiver Python (por exemplo C:\Python27\), você poderá executar seu arquivo py simplesmente na linha de comando do Windows (cmd). Como fazer aqui.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.