Làm cách nào để tải tập tin vào bảng điều khiển python?


208

Tôi có một số dòng mã python mà tôi liên tục sao chép / dán vào bảng điều khiển python. Có một loadlệnh hoặc một cái gì đó tôi có thể chạy? ví dụload file.py


15
import file. Không .pygia hạn.
Mikel

1
Khi import fileđược sử dụng, các biến trong filekhông thể được truy cập.
Kadir

5
Trên thực tế, biến có thể được truy cập. Hãy thử file.variable.
Tim Ludwinski

Câu trả lời:


197

Đối với Python 2 (xem các câu trả lời khác cho Python 3) hãy thử:

execfile('file.py')

Ví dụ sử dụng:

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
Bạn có thể giải thích việc sử dụng của bạn copy con? Từ những gì tôi đang đọc, nó chỉ được sử dụng để sao chép các tập tin computerhope.com/copyhlp.htm
CodyBugstein

12
Anh ta đã sao chép từ bảng điều khiển (được coi là một tệp) vào execfile_example.py. ^ Z là cuối tập tin. Đó chỉ là một cách để đưa văn bản vào một tệp mà không cần mở trình soạn thảo.
IJ Kennedy

Xem câu trả lời từ @Arafangion nếu bạn chưa có trong bảng điều khiển.
Barry McNamara

166

Từ trang người đàn ông:

-i Khi tập lệnh được truyền dưới dạng đối số đầu tiên hoặc tùy chọn -c được sử dụng, hãy vào chế độ tương tác sau khi thực thi tập lệnh hoặc lệnh. Nó không đọc tệp $ PYTHONSTARTUP. Điều này có thể hữu ích để kiểm tra các biến toàn cục hoặc theo dõi ngăn xếp khi tập lệnh đưa ra một ngoại lệ.

Vì vậy, điều này sẽ làm những gì bạn muốn:

python -i file.py

7
Đây là một cách tuyệt vời để đi nếu bạn chưa có trong bảng điều khiển. Cảm ơn vì tiền boa Arafangion
Một sốShinyObject

89

Python 3: exec mới (execfile drop) !

Giải pháp execfile chỉ hợp lệ cho Python 2. Python 3 đã bỏ chức năng execfile - và thăng cấp câu lệnh exec thành một hàm phổ quát dựng sẵn. Như nhận xét trong thay đổi của Python 3.0 và bình luận Hi-Angels cho thấy:

sử dụng

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

thay vì

execfile(<filename.py>)

nếu tệp chứa các câu lệnh nhập import os, ví dụ , có exec()thực thi các câu lệnh đó không? Tôi đang thử điều này hiện tại và câu trả lời dường như là không ...
Rylan Schaeffer

25

Từ dòng lệnh shell:

python file.py

Từ dòng lệnh Python

import file

hoặc là

from file import *

8
reload(file)khi bạn đã thay đổi một cái gì đó trong đó.
Santa

1
Đó là của from file import *, khôngimport * from file
kindall

1
Liệu các tập tin cần phải là một giám đốc cụ thể? Tôi đang thử nó với đường dẫn đầy đủ của nó và nó không hoạt động.
CodyBugstein

nhập thư
mục.subdirectory.file

14

Bạn chỉ có thể sử dụng một câu lệnh nhập khẩu:

from file import *

Vì vậy, ví dụ, nếu bạn có một tệp có tên my_script.pybạn sẽ tải nó như vậy:

from my_script import *



0

Nếu pathbiến môi trường của bạn chứa Python (ví dụ C:\Python27\:), bạn có thể chạy tệp py của mình một cách đơn giản từ dòng lệnh Windows (cmd). Làm thế nào đây

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.