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

sybind
fonte
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
>>>
John Machin
fonte
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
Arafangion
fonte
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>)
h1618
fonte
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 *
Fred Foo
fonte
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 *
amicitas
fonte
3

Abra o prompt de comando na pasta na qual os arquivos a serem importados estão presentes. quando você digita 'python', o terminal python será aberto. Agora você pode usar

importar script_name
Nota: nenhuma extensão .py a ser usada durante a importação.
Como posso abrir uma janela do cmd em um local específico?

infinidade
fonte
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.


fonte