Как загрузить файл в консоль python?


208

У меня есть несколько строк кода Python, которые я постоянно копирую / вставляю в консоль Python. Есть loadкоманда или что-то, что я могу запустить? напримерload file.py


15
import file, Без .pyпродления
Микель

1
Когда import fileиспользуется, переменные в fileне могут быть доступны.
Кадир

5
На самом деле, переменная может быть доступна. Попробуй file.variable.
Тим Людвински

Ответы:


197

Для Python 2 (см. Другие ответы для Python 3) попробуйте:

execfile('file.py')

Пример использования:

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
Можете ли вы объяснить, как вы используете copy con? Из того, что я читаю, он используется только для копирования файлов computerhope.com/copyhlp.htm
CodyBugstein

12
Он скопировал с консоли (рассматривается как файл) в execfile_example.py. ^ Z - конец файла. Это просто способ вставить текст в файл, не открывая редактор.
IJ Кеннеди

Смотрите ответ от @Arafangion, если вы еще не в консоли.
Барри Макнамара

166

Со страницы руководства:

-i Когда в качестве первого аргумента передается сценарий или используется опция -c, войдите в интерактивный режим после выполнения сценария или команды. Он не читает файл $ PYTHONSTARTUP. Это может быть полезно для проверки глобальных переменных или трассировки стека, когда скрипт вызывает исключение.

Так что это должно делать то, что вы хотите:

python -i file.py

7
Это отличный способ, если вы еще не в консоли. Спасибо за подсказку Арафангион
SomeShinyObject

89

Python 3: новый exec (execfile удален) !

Решение execfile действительно только для Python 2. Python 3 отбросил функцию execfile и повысил оператор exec до встроенной универсальной функции. Как следует из комментариев в журнале изменений Python 3.0 и комментариях Hi-Angels:

использование

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

вместо того

execfile(<filename.py>)

если файл содержит операторы импорта, например import os, exec()выполняет ли эти операторы? Я пытаюсь сделать это в настоящее время, и ответ, кажется, нет ...
Райлан Шеффер

25

Из командной строки оболочки:

python file.py

Из командной строки Python

import file

или

from file import *

8
И reload(file)когда ты что-то изменил в этом.
Санта

1
Это from file import *неimport * from file
Kindall

1
Файл должен быть в определенном директоре? Я пробую его полным путем, и он не работает.
CodyBugstein

import directory.subdirectory.file
Сет

14

Вы можете просто использовать оператор импорта:

from file import *

Так, например, если бы у вас был файл с именем, my_script.pyвы бы загрузили его так:

from my_script import *


3

Откройте командную строку в папке, в которой находятся файлы для импорта. когда вы наберете 'python', будет открыт терминал python. Теперь вы можете использовать

импортировать имя_скрипта
Примечание: расширение .py не будет использоваться при импорте.
Как я могу открыть окно cmd в определенном месте?


0

Если ваша pathпеременная окружения содержит Python (например, C:\Python27\), вы можете запустить свой py-файл просто из командной строки Windows (cmd). Как здесь.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.